在Java中有一种简单的哈希方法吗?

时间:2013-08-20 15:58:05

标签: java hash

我有一些String我想使用SHA-256方式进行哈希。我在互联网上看了一下,令我惊讶的是,我找不到一个简单的方法。 我知道MessageDigest类似乎提供了我需要的一切,除了一件事:这样的方法:String hash256(String txt) 我也知道有办法这样做(例如:here)但是我不愿意为可能已经存在的东西写一行以上。你们知道这样的事情是否存在?

编辑:看起来我不够清楚。是否存在与JDK中的以下代码等效的现有方法?

public String hash256(String txt){
    MessageDigest sha = MessageDigest.getInstance("SHA-256");
    sha.update(txt.getBytes());
    byte[] digest = sha.digest();
    return bytesToString(digest);
}

2 个答案:

答案 0 :(得分:3)

MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(stringAsbytes);
stringAsBytes = md.digest();

然后将字节转换为字符串。确保指定字符串编码。

答案 1 :(得分:3)

您可以使用Apache Commons Library中的DigestUtils.sha256()