在MySQL中,有一些内置方法可用于在将明文字符串插入数据库时将其转换为哈希值。 (参见this链接)在Apache Derby中是否有相同的方法或技术来做同样的事情?
我知道并且可以使用Java中的MessageDigest类来散列明文字符串。我找到了一个看起来像它的程序(here),但看着它看起来很过时的日期(加上当我查找一些它们似乎没有出现在最新API中的方法和类时)< / p>
答案 0 :(得分:2)
我经常将此代码段用于SHA1:
String hash = null;
try
{
MessageDigest digest = MessageDigest.getInstance("SHA-1");
digest.update(toHash.getBytes(), 0, toHash.length());
hash = new BigInteger(1, digest.digest()).toString(16);
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
}
它完美无缺。
答案 1 :(得分:1)
为什么不使用Apache Commons Codecs库中的简单String digest = DigestUtils.sha1Hex(plainText)
?