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

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


答案 1

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

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

例如:

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

答案 2

我认为最简单的解决方案是使用Apache通用编解码器

String sha256hex = org.apache.commons.codec.digest.DigestUtils.sha256Hex(stringText);   

推荐