我想自动生成Java的serialVersionUID(长或64位).要序列化的对象的区别在于大约20个整数,但不总是20个整数.我打算将整数转换为逗号分隔的数字字符串,并通过SHA-256哈希函数运行它.
由于SHA-256是32字节长(256位),我需要它适合serialVersionUID(64位),我如何将其转换为64位值并最大限度地减少良好散列特性的损失?
解决方法:
只是切断额外的位.没有必要使事情复杂化.如果有一个优越的方法来获取第一个(或任何其他)64位,那么哈希就会被打破.