DigestUtils.md5hex()的一点小问题

1,193 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

前言

最近在写一个Javaweb,有一个要对密码进行MD5加密的地方,调用的是DigestUtils.md5hex()

问题

发现同样的String会生成不同的结果,也有不同的String却生成同样的结果。

解决过程

后来问度娘,发现可能跟字符编码有关,调用Charset.defaultCharset().name()发现,在写的service里的编码是GBK,而在别的地方随便创建的类编码却是UTF-8。 看别人的文章说Charset.defaultCharset().name()得到的默认编码与IDE无关,而是跟系统有关。于是添加环境变量 在这里插入图片描述 问题得以解决。

结论

使用DigestUtils.md5hex()的时候要注意环境的字符编码