我需要计算字符串的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