我需要計算字符串的MD5散列並使用Google搜索this。散列字符串和相關異常
我想有一個可重用的工具類負責哈希一個字符串,我會像這樣使用:AeSimpleMD5.MD5(myString);
。
這個調用意味着我必須檢查NoSuchAlgorithmException
和UnsupportedEncodingException
每次我想散列一個字符串;我有幾個關於這個問題,我會複製可能會拋出的行:
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes("iso-8859-1"), 0, str.length());
1)是否會拋出異常? MD5 algotithm或「iso-8859-1」編碼怎麼可能丟失?
2)我想知道如果碰巧遇到這些例外之一,我該怎麼辦;答案是:可能什麼都沒有!因此將異常封裝到新的運行時異常(可能類似於MD5HashingException
)是沒有意義的?
只是順便:MD5已經被有效打破。除非您必須使用MD5與另一個應用程序進行交互,否則您應該考慮使用更安全的哈希算法,如SHA-256。 – Philipp
沒有任何實際用途。 – bmargulies