Md5加密

public class MD5Util {

    private static final String[] digest = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};
    
    /**
     * 32位字符的MD5 密文
     * @param txt
     * @return
     * @throws Exception
     */
    private static String initMd5(String txt) throws Exception {
        MessageDigest md5 = MessageDigest.getInstance("MD5");//创建MD5核心对象
        String encrty = "";
        byte[] bytes = md5.digest(txt.getBytes("UTF-8"));//使用byte 数组接收,数组长度16
        for (byte b : bytes) {//会循环16次
            //每次循环需要从digest数组中随机取2个不同的值,随机取0-15的两个下标
            int temp = b;
            if (temp<0) {
                temp = temp + 256;
            }
            //第一个下标
            int i = temp / 16;
            //第二下标
            int j = temp % 16;
            encrty += digest[i] + digest[j];
        }
        return encrty;
    }
    
    public static String finiMd5(String txt) throws Exception {
        //后面加字符串再加密,是为了防密码本
        return initMd5(initMd5(txt)+"franky");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值