java – 压缩SHA-256哈希

我想自动生成Java的serialVersionUID(长或64位).要序列化的对象的区别在于大约20个整数,但不总是20个整数.我打算将整数转换为逗号分隔的数字字符串,并通过SHA-256哈希函数运行它.

由于SHA-256是32字节长(256位),我需要它适合serialVersionUID(64位),我如何将其转换为64位值并最大限度地减少良好散列特性的损失?

解决方法:

只是切断额外的位.没有必要使事情复杂化.如果有一个优越的方法来获取第一个(或任何其他)64位,那么哈希就会被打破.

上一篇:为什么PHP中的CRYPT_BLOWFISH被认为更好,因为它产生的哈希值比SHA短


下一篇:java – 如何创建序列密钥以保护应用程序