如何解决创建json的哈希/指纹-最佳快速方式
我需要为json数据创建一些哈希/指纹,以检测它们是否被更改。
现在,我正在使用md5,但我想有一种更快的方法来创建此哈希/指纹。
我应该使用什么?
我不需要一些安全保护,我只需要打印我的json。
解决方法
这里有几个选项。首先,您可以使用 BLAKE2b,它比 MD5 更快(而且安全,与 MD5 不同)。这是一个加密散列函数,如果散列匹配,则您可以确信文件相同,如果不匹配,则它们不同。 GNU coreutils 有 b2sum
,最近版本的 OpenSSL 有 blake2b512
作为算法;还有各种其他实现。
另一种解决方案是使用 CRC64 之类的东西。这可能比 BLAKE2b 稍快,但不能防止任何类型的篡改,而且因为它的大小只有 64 位,最终可能会发生意外碰撞。如果这些在您的情况下是可以接受的,因为您的所有数据都是可信的并且您的数据集很小,那么它可能是一个不错的选择。您可以在网上的许多地方找到开源实现。
没有理由使用 MD5,因为它比这两个选项都慢,而且也不安全,不像 BLAKE2b。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。