2

如果我使用此 Java 代码生成消息摘要(用于我的应用程序中的安全功能):

java.security.MessageDigest saltDigest = MessageDigest.getInstance("SHA-256");
saltDigest.update(UUID.randomUUID().toString().getBytes("UTF-8"));
String digest = String.valueOf(Hex.encode(saltDigest.digest()));

我最终得到一个非常长的字符串,如下所示:

29bcf49cbd57bbc41e601b399a93218ef99c6e36bae3598b5a5a64ac66d9c254

传递 URL 不是最好的方法!

有没有办法缩短这个?

4

1 回答 1

2

嗯,这就是 SHA-256 哈希的预期大小,对吧?你总是可以做

String sha256 = yourSha256Calculation();
sha256.substring(0,10);

要获得更短的字符串,但那不是 SHA-256。你真正想要达到什么目的?

SHA-256 不是最短的哈希,请查看http://www.fileformat.info/tool/hash.htm?text=hello进行比较。

于 2011-09-26T15:12:58.903 回答