java加密解密简单实现.docVIP

  • 2
  • 0
  • 约1.28万字
  • 约 11页
  • 2017-11-10 发布于江苏
  • 举报
java加密解密简单实现

java 加密解密简单实现加密算法有很多种:这里只大约列举几例: 1:消息摘要:(数字指纹):既对一个任意长度的一个数据块进行计算,产生一个唯一指纹。MD5/SHA1 发送给其他人你的信息和摘要,其他人用相同的加密方法得到摘要,最后进行比较摘要是否相同。 2:单匙密码体制:DES:比较简便高效,密钥简短,加解密速度快,破译极其困难,但其安全性依赖于密匙的安全性。 DES(Data Encryption Standard)是发明最早的最广泛使用的分组对称加密算法。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密 3:数字签名:就是信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在经签名后末被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。 代表:DSA 4:非对称密匙密码体制(公匙体系):加密密匙不同于解密密匙,加密密匙公之于众,谁都可以使用,解密密匙只有解密人自己知道。代表:RSA 下面是对上面几个例子进行的简单实现: Java代码 package?test; ?? import?java.io.FileInputStream; ?? import?java.io.FileOutputStream; ?? import?java.io.IOException; ?? import?java.io.ObjectInputStream; ?? import?java.io.ObjectOutputStream; ?? import?java.security.*; ?? import?javax.crypto.Cipher; ?? import?javax.crypto.KeyGenerator; ?? import?javax.crypto.SecretKey; ?? /** ? ?*?加密解密 ? ?*? ? ?*?@author?shy.qiu ? ?*?@since??/qiushyfm ? ?*/?? public?class?CryptTest?{ ?? ????/** ? ?????*?进行MD5加密 ? ?????*? ? ?????*?@param?info ? ?????*????????????要加密的信息 ? ?????*?@return?String?加密后的字符串 ? ?????*/?? ????public?String?encryptToMD5(String?info)?{ ?? ????????byte[]?digesta?=?null; ?? ????????try?{ ?? ????????????//?得到一个md5的消息摘要 ?? ????????????MessageDigest?alga?=?MessageDigest.getInstance(MD5); ?? ????????????//?添加要进行计算摘要的信息 ?? ????????????alga.update(info.getBytes()); ?? ????????????//?得到该摘要 ?? ????????????digesta?=?alga.digest(); ?? ????????}?catch?(NoSuchAlgorithmException?e)?{ ?? ????????????e.printStackTrace(); ?? ????????} ?? ????????//?将摘要转为字符串 ?? ????????String?rs?=?byte2hex(digesta); ?? ????????return?rs; ?? ????} ?? ????/** ? ?????*?进行SHA加密 ? ?????*? ? ?????*?@param?info ? ?????*????????????要加密的信息 ? ?????*?@return?String?加密后的字符串 ? ?????*/?? ????public?String?encryptToSHA(String?info)?{ ?? ????????byte[]?digesta?=?null; ?? ????????try?{ ?? ????????????//?得到一个SHA-1的消息摘要 ?? ????????????MessageDigest?alga?=?MessageDigest.getInstance(SHA-1); ?? ?????????

文档评论(0)

1亿VIP精品文档

相关文档