为什么同一个字符串,md5加密后的结果不一样

2025年03月13日 06:32
有2个网友回答
网友(1):

String passOne = "hello";
String passTwo = "hello";

String encryptedPassOne = encryptWithMD5(passOne);
String encryptedPassTwo = encryptWithMD5(passTwo);

两个经过MD5加密之后的encryptedPass,在屏幕上打印出来都是一样的。
但是使用
encryptedPassOne.equals(encryptedPassTwo)比较,得到的结果却是不等的。
真是困惑哦。
两个字符串都不为空。
考虑了编码问题,都是用UTF-8编码的。
最奇怪的是打印出来是一样的啊。

网友(2):

那后面的符号好像是对象地址值,你把那两行打印换成这个看看 System.out.println (new String(bytes)); System.out.println (new String(bytes2));