簡體   English   中英

比較MD5字符串

[英]Comparing MD5 strings

我有一個java代碼,我發送md5已經通過套接字在另一邊接收。 我輸入一個密碼作為輸入並創建自己的md5來檢查通過套接字收到的md5進行身份驗證。

兩個md5字符串都具有相同的字節模式,但是當我對兩個md5模式進行相等性測試時,String.equals()返回false。 這怎么可能 ?。 如果有人知道可能出錯的地方,請幫忙嗎?

MD5是一個byte[] 它的表示通常是十六進制字符串。 要看的東西:

  • 構造十六進制字符串的方式應該相同
  • 確保您沒有使用new String(bytes) 這使用默認編碼,該編碼因機器而異,並且編碼可能不支持某些字節值。
  • 字母應該有相同的情況(下/上)

但你不應該比較表示。 你應該比較字節: Arrays.equals(ar1, ar2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM