微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为Java对象生成校验和

如何解决如何为Java对象生成校验和

我遇到了类似的问题(为XML文件生成良好的哈希码),我发现最好的解决方案是通过MessageDigest使用MD5,或者如果您需要更快的速度:Fast MD5。请注意,即使Object.hashCode每次都相同,也太短(仅32位),以确保高唯一性。我认为64位是计算良好哈希码的最低要求。请注意,MD5会生成128位长的哈希码,在这种情况下,它应该甚至更多。

当然要使用,MessageDigest您需要先序列化(在您的情况下为marshall)对象。

解决方法

我正在寻找一种为任何类型的Java对象生成校验和的解决方案,对于产生相同对象的应用程序的每次执行,该校验和都保持不变。

我尝试了Object.hashCode(),但是api说

....从应用程序的一个执行到同一应用程序的另一个执行,此整数不必保持一致。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。