网站大量收购独家精品文档,联系QQ:2885784924

Java课程设计技术之加密和解密3.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java课程设计技术之加密和解密3.ppt

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 下面是对上面几个例子进行的简单实现: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.PublicKey; import java.security.SecureRandom; import java.security.Signature; 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); // 添加要进行计算摘要的信息 alga.update(info.getBytes()); // 得到该摘要 digesta = alga.digest(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } // 将摘要转为字符串 String rs = byte2hex(di

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档