分享

JAVA摘要加密算法汇总

 xue_dong5437 2011-09-15
http://liulang203./blog/1009240

摘要加密算法主要由MD、SHA及MAC加密三个家族 
一、MD加密算法代码 
Java代码  收藏代码
  1. MessageDigest md = MessageDigest.getInstance("MD5");  
  2. return md.digest(data);  

也可以用apache的commons封装后的代码。 
二、SHA加密算法代码 
Java代码  收藏代码
  1. MessageDigest md = MessageDigest.getInstance("SHA-256");  
  2. return md.digest(data);  

三、MAC算法代码 
1、生成密钥 
Java代码  收藏代码
  1. //初始化KeyGenerator  
  2. KeyGenerator keyGenerator= KeyGenerator.getInstance("HmacMD5");  
  3. //生成密钥  
  4. SecretKey secretKey = keyGenerator.generateKey();  
  5. return secretKey.getEncoded()  

2、还原密钥 
Java代码  收藏代码
  1. SecretKey secretKey= new SecretKeySpec(key, "HmacMD5");  

3、生成摘要 
Java代码  收藏代码
  1. SecretKey secretKey= new SecretKeySpec(key, "HmacMD5");  
  2. Mac mac=Mac.getInstance(secretKey.getAlgorithm());  
  3. mac.init(secretKey);  
  4. return mac.doFinal(data);  


注:如果要使用开源的Bouncy Castle需要在下面两种方式中选择一种: 
一、修改%JDK_HOME%\jre\lib\security\java.security文件中添加: 
security.provider.XX=org.bouncycastle.jce.provider.BouncyCastleProvider 
二、在程序中加入如下内容: 
Java代码  收藏代码
  1. import org.bouncycastle.jce.provider.BouncyCastleProvider;  
  2. Security.addProvider(new BouncyCastleProvider());  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多