SpringMd5加密问题

问题

SpringMd5加密,如果未指定编码,可能会导致未知问题

重现过程

环境

windows

代码


public class Test001 {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String testStr ="四川省";
        String md5PasswordDefault = DigestUtils.md5DigestAsHex(testStr.getBytes());
        String md5PasswordUtf8 = DigestUtils.md5DigestAsHex(testStr.getBytes("utf-8"));
        String md5PasswordGb2312 = DigestUtils.md5DigestAsHex(testStr.getBytes("gb2312"));
        System.out.println("默认:"+md5PasswordDefault);
        System.out.println("utf-8:"+md5PasswordUtf8);
        System.out.println("gb2312:"+md5PasswordGb2312);
    }
}

输出结果


默认:cbbbd3243b7a20342273d0d3ab9f838f
utf-8:cbbbd3243b7a20342273d0d3ab9f838f
gb2312:f2806794c8c61e82969d2f2d345fc7b1

结论

  • 不同的编码,会影响加密结果
  • 目前windows环境默认编码是utf-8编码

思考

  • 1.windows环境默认是utf-8
  • 2.linux环境或其他容器环境,可能默认就不是utf-8,可能导致其他问题
  • 3.我在容器中其实就是linux环境,遇到前几位字符相同,后面字符不同的字符串,遇到过,加密后的密码是一致
posted @   落子不悔  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示