我有一个java代码,我通过套接字发送md5以在另一端接收。我将密码作为输入并创建自己的 md5,以检查通过套接字收到的 md5 以进行身份验证。
两个 md5 字符串具有相同的字节模式,但当我对两个 md5 模式进行相等测试时,String.equals() 返回 false。这怎么可能 ?。如果有人知道可能出了什么问题,请帮忙?
MD5 是一个byte[]. 它的表示通常是十六进制字符串。需要注意的事项:
new String(bytes). 这使用默认编码,该编码因机器而异,并且编码可能不支持某些字节值。但你不应该比较代表性。您应该比较字节:Arrays.equals(ar1, ar2)