如何在Java中使用sha256对某些字符串进行哈希处理?

2019年7月19日 18点热度 0条评论

如何在Java中使用sha256哈希某些字符串?有人知道有免费的图书馆吗?

解决方案如下:

SHA-256不是“编码”,而是单向哈希。

您基本上可以将字符串转换为字节(例如,使用text.getBytes(StandardCharsets.UTF_8)),然后对字节进行哈希处理。请注意,哈希的结果也将是任意的二进制数据,并且如果要在字符串中表示该数据,则应使用base64或hex ...不要尝试使用String(byte[], String)构造函数。

例如

MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(text.getBytes(StandardCharsets.UTF_8));