zoukankan      html  css  js  c++  java
  • MD5 加密

    package text;
    
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class MD5 {
       //十六进制下数字到字符的映射数组  
        private final static String[] hexDigits = {"0", "1", "2", "3", "4",  
            "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};  
           
         
        public static String generatePassword(String inputString){  
            return encodeByMD5(inputString);  
         }  
           
           
        public static boolean validatePassword(String password, String inputString){  
            if(password.equals(encodeByMD5(inputString))){  
                return true;  
             } else{  
                return false;  
             }  
         }  
         
        private static String encodeByMD5(String originString){  
            if (originString != null){  
                try{  
                    //创建具有指定算法名称的信息摘要  
                     MessageDigest md = MessageDigest.getInstance("MD5");  
                    //使用指定的字节数组对摘要进行最后更新,然后完成摘要计算  
                    byte[] results = md.digest(originString.getBytes());  
                    //将得到的字节数组变成字符串返回  
                     String resultString = byteArrayToHexString(results);  
                    return resultString.toUpperCase();  
                 } catch(Exception ex){  
                     ex.printStackTrace();  
                 }  
             }  
            return null;  
         }  
           
         
        private static String byteArrayToHexString(byte[] b){  
             StringBuffer resultSb = new StringBuffer();  
            for (int i = 0; i < b.length; i++){  
                 resultSb.append(byteToHexString(b[i]));  
             }  
            return resultSb.toString();  
         }  
           
         
        private static String byteToHexString(byte b){  
            int n = b;  
            if (n < 0)  
                 n = 256 + n;  
            int d1 = n / 16;  
            int d2 = n % 16;  
            return hexDigits[d1] + hexDigits[d2];  
         }  
    }
  • 相关阅读:
    内存管理工具
    c语言目录操作总结
    重写strstr、strcpy、memcpy、memset、atof算法
    统计编码量工具
    hdu4348
    bzoj4358: permu
    bzoj2658: [Zjoi2012]小蓝的好友(mrx)
    bzoj2657: [Zjoi2012]旅游(journey)
    bzoj3583: 杰杰的女性朋友
    bzoj3673 bzoj3674可持久化并查集
  • 原文地址:https://www.cnblogs.com/daohangtaiqian/p/6215656.html
Copyright © 2011-2022 走看看