`
wlhok
  • 浏览: 56248 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MD5、SHA的加密

    博客分类:
  • Java
阅读更多

MD5、SHA加密,常用于加密用户名密码,当用户验证时。没有解密的方法。

java 代码
  1. import java.security.MessageDigest;   
  2.   
  3. public class Digest {   
  4.   
  5.     public static void main(String[] args) throws Exception {   
  6.         String str = "abcdefghijklmnopqrstuvwxyz";   
  7.         byte[] data = str.getBytes();   
  8.            
  9.         System.out.println("MD5: " + getDigest(data, "MD5"));   
  10.         System.out.println("SHA: " + getDigest(data, "SHA"));   
  11.         System.out.println("SHA_256: " + getDigest(data, "SHA-256"));   
  12.         System.out.println("SHA_384: " + getDigest(data, "SHA-384"));   
  13.         System.out.println("SHA_512: " + getDigest(data, "SHA-512"));   
  14.     }   
  15.        
  16.     public static String getDigest(byte[] data, String algorithm)   
  17.             throws Exception {   
  18.         MessageDigest md5 = MessageDigest.getInstance(algorithm);   
  19.         md5.update(data);   
  20.         return toHexString(md5.digest());   
  21.     }   
  22.   
  23.     public static String toHexString(byte[] b) {   
  24.         StringBuilder sb = new StringBuilder(b.length * 2);   
  25.         for (int i = 0; i < b.length; i++) {   
  26.             sb.append(HEXCHAR[(b[i] & 0xf0) >>> 4]);   
  27.             sb.append(HEXCHAR[b[i] & 0x0f]);   
  28.         }   
  29.         return sb.toString();   
  30.     }   
  31.        
  32.     private static final char[] HEXCHAR = { '0', '1', '2', '3', '4', '5', '6', '7',   
  33.             '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };   
  34. }  

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics