我有一些String我想使用SHA-256方式进行哈希。我在互联网上看了一下,令我惊讶的是,我找不到一个简单的方法。
我知道MessageDigest
类似乎提供了我需要的一切,除了一件事:这样的方法:String hash256(String txt)
我也知道有办法这样做(例如:here)但是我不愿意为可能已经存在的东西写一行以上。你们知道这样的事情是否存在?
public String hash256(String txt){
MessageDigest sha = MessageDigest.getInstance("SHA-256");
sha.update(txt.getBytes());
byte[] digest = sha.digest();
return bytesToString(digest);
}
答案 0 :(得分:3)
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(stringAsbytes);
stringAsBytes = md.digest();
然后将字节转换为字符串。确保指定字符串编码。
答案 1 :(得分:3)
您可以使用Apache Commons Library中的DigestUtils.sha256()
。