待办清单项目4:对用户密码进行加密
4/17/2025
70 阅读
为什么要加密
如上图所示,在数据表中可以看到用户密码信息,如果网站被人非法攻击,破解了数据的密码,则用户的密码会被泄露,为了安全起见,需要对密码等隐私信息进行加密后再存入到数据库中。
创建加密算法
在util包上单击右键,选择新建Java类,取名为MD5Utils
MD5Utils
文件的代码如下:
package com.youngshu.todolist.utils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD5Utils 类提供了用于生成MD5哈希值的静态方法。
*/
public class MD5Utils {
/**
* 对输入字符串进行MD5编码。
* @param input 要编码的输入字符串。
* @return 返回输入字符串的MD5哈希值的十六进制字符串表示。
*/
public static String md5encode(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageDigest = md.digest(input.getBytes());
StringBuilder hexString = new StringBuilder();
for (byte b : messageDigest) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
}
测试加密算法
- 在test包上新建Java类,取名为
MD5UtilsTest
- 代码如下
package com.youngshu.todolist.test;
import com.youngshu.todolist.utils.MD5Utils;
// 测试MD5Utils类的功能
public class MD5UtilsTest {
// 主函数,程序入口
public static void main(String[] args) {
String str = "123456"; // 待加密的字符串
String md5Str = MD5Utils.md5encode(str); // 调用MD5Utils类的md5encode方法加密字符串
System.out.println(md5Str); // 输出加密后的字符串
}
}
- 运行当前文件,观察是否看到被加密后的密码
评论 (0)
暂无评论,来发表第一条评论吧!