MD5对密码进行加密处理机制

来源:互联网 发布:摇头岭车神淘宝店 编辑:程序博客网 时间:2024/05/17 23:59
package 加密算法.MD5;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
import java.util.UUID;

public class MD5 {
    
     // 全局数组
    private final static String[] strDigits = { "0", "1", "2", "3", "4", "5","6", "7", "8", "9",
                 "a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m", "n", "o", "p", "q",
                 "r", "s", "t", "u", "v", "w", "x", "y", "z"};

    public static void main(String[] args) {
         String str="ABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";
         Random random=new Random();
         Set<String> set=new HashSet<String>();//存放生成六位不重复数据
         int count=0;//循环迭代次数
         for(int i=0;i<str.length();i++){
           int number=random.nextInt(str.length());
           set.add(String.valueOf(str.charAt(number)));
           count++;
           if(set.size()==6){
               break;
           }
         }
         System.out.println(set+"--"+count);
         System.out.println(set.toString().replace(", ", "").replace("[", "").replace("]", ""));
         StringBuffer sdf=new StringBuffer();
         Object[] a=set.toArray();
         for(int j = 0; j < a.length; j++) {
             sdf.append(a[j]);
         }
         set.clear();//清空set集合
         System.out.println(sdf.toString());
         System.out.println(UUID.randomUUID().toString().replace("-", ""));//生成随机36位字符串
         System.out.println(GetMD5Code(set+"123456"));
         System.out.println(GetMD5Code(set+"123456"));
    }
    
    // 返回形式为数字跟字符串
    private static String byteToArrayString(byte bByte) {
        int iRet = bByte;
        if (iRet < 0) {
            iRet += 256;
        }
        int iD1 = iRet / 34;
        int iD2 = iRet % 34;
        return strDigits[iD1] + strDigits[iD2];
    }

    // 转换字节数组为16进制字串
    private static String byteToString(byte[] bByte) {
        StringBuffer sBuffer = new StringBuffer();
        for (int i = 0; i < bByte.length; i++) {
            sBuffer.append(byteToArrayString(bByte[i]));
        }
        return sBuffer.toString();
    }

    public static String GetMD5Code(String strObj) {
        String resultString = null;
        try {
            resultString = new String(strObj);
            MessageDigest md = MessageDigest.getInstance("MD5");
            resultString = byteToString(md.digest(strObj.getBytes()));
        } catch (NoSuchAlgorithmException ex) {
            ex.printStackTrace();
        }
        return resultString;
    }

}

0 0
原创粉丝点击