手机卫士学习11-MD5加密

来源:互联网 发布:java面向对象总结 编辑:程序博客网 时间:2024/05/18 09:19

将明文通过MD5加密成密码。

1 将明文转成byte数组

2 每一个byte&0xff(1111 1111)

3 将&之后的结果用int接收,转成16进制

4 4位16进制前面加个0,补齐成8位16进制

5 拼接所有16进制数据


示例代码:

package com.itheima.mobilesafe.utils;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Utils {/** * md5 * @param password * @return */public static String md5Password(String password){try {//得到一个信息摘要器MessageDigest digest =MessageDigest.getInstance("md5");byte[] result = digest.digest(password.getBytes());StringBuilder builder =new StringBuilder();//把每一个byte与8个二进制位与运算-- byte & 0xff(1111 1111)for(byte b : result){int num = b & 0xff;//转成十六进制String str = Integer.toHexString(num);//将4位的十六进制前面加个0,补齐成8位16进制if(str.length() == 1){builder.append("0");}builder.append(str);}return builder.toString();} catch (NoSuchAlgorithmException e) {e.printStackTrace();return "";}}}


0 0
原创粉丝点击