文章大纲
加载中...

待办清单项目4:对用户密码进行加密

4/17/2025 70 阅读
待办清单项目4:对用户密码进行加密

为什么要加密

如上图所示,在数据表中可以看到用户密码信息,如果网站被人非法攻击,破解了数据的密码,则用户的密码会被泄露,为了安全起见,需要对密码等隐私信息进行加密后再存入到数据库中。

创建加密算法

在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);
        }
    }
}

测试加密算法

  1. 在test包上新建Java类,取名为MD5UtilsTest

  1. 代码如下
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); // 输出加密后的字符串
    }
}

  1. 运行当前文件,观察是否看到被加密后的密码


评论 (0)

暂无评论,来发表第一条评论吧!