MD5加密过程(给指定的字符串设置MD5加密)

注释已经写的非常清楚了直接看代码就好了;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;


public class Md5Util {
    public static void main(String[] args) {
        String pwd ="123"+"xjq";///后边的xjq是一个加盐的过程;为了使密码不好破解;
        encoder(pwd);

    }

    /**
     * 通过MD5算法加密;
     * @param pwd
     */
    private static void encoder(String pwd) {
        try {

            //1指定算法类型;
            MessageDigest digest =MessageDigest.getInstance("MD5");
            //2将需要加密的字符串转换成byte数组;
            byte[] bs = digest.digest(pwd.getBytes());
            //3通过遍历bs 生成32位的字符串;

            //最后字符串有个拼接的过程;
            StringBuffer sb =new StringBuffer();
            for (byte b : bs) {
                int i=b&0xff; //int 类型的i 是4个字节占32位;
                //int 类型的i转换成16进制字符;
                String hexString = Integer.toHexString(i);
                if (hexString.length()<2) {//补零的过程,因为生成的时候有的是一位有的是两位所以需要有个补零的过程;
                    hexString="0"+hexString;
                }
                sb.append(hexString);
            }

            System.out.println(sb.toString());

        } catch (NoSuchAlgorithmException e) {//找不到指定算法的错误;
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值