问题 快速跨平台C / C ++哈希库[关闭]


什么是高性能哈希库,它也是C / C ++的跨平台。适用于MD5,SHA1,CRC32和Adler32等算法。

我最初的印象是Boost有这些,但显然不是(还)。

到目前为止我发现的最有希望的是Crypto ++,还有其他任何建议吗? http://www.cryptopp.com/ 这似乎相当全面。


4716
2018-04-28 21:37


起源

我会选择cryptopp。 - Skurmedel


答案:


对于通常的加密哈希(MD?,SHA?等), OpenSSL的 是最便携的,可能是最快的。您提到的所有哈希都不适用于哈希表等高性能数据结构。这些天推荐的这些数据结构的哈希函数是:FNV,Jenkins和MurmurHash。


7
2018-04-28 22:00



有趣。你可以发布链接吗? (是的,我知道,我可以谷歌那些...) - Jason S
谢谢,我会看看openssl。哈希的使用不会用于哈希表,而是用作身份验证和文档验证的哈希值(它是否被篡改等) - The Unknown


QT 似乎实施了 MD4,MD5和SHA1


4
2018-04-28 21:44



为什么要包含整个Widget-library只是为了使用它的MD5和SHA-1实现? 如果 你已经在使用QT,这可能是一个可行的选择,否则它是过度的。 - Andreas Magnusson
Doxygen使用QTCore而不使用任何GUI类。事实证明,QT具有非常好的平台抽象。看到 Doxygen FAQ #9。 - deft_code


我肯定会使用CryptoPP,它也有很好的许可证。


2
2018-04-28 21:51



是的,只需要修改你需要的代码,你就可以了。 - Skurmedel


zlib的 有一个crc32变种的内置实现,并广泛移植。 =)


1
2018-04-28 21:44





设备跨平台?如果它对你意味着对我意味着什么意味着不是linux或者操作系统独立。我会避免像openssl这样的东西。我和libtomcrypt一起去了。现在速度如何?快速,便携,C,选择任何两个。


1
2018-04-28 22:12



libtomcrypt锁定有趣。 - Johan


也许你可以使用 libbeecrypt


1
2018-02-10 06:22





看看吧 plibsys C库:它支持MD5,SHA1,SHA-2(224,256,384,512),SHA-3(224,256,384,512)和GOST 34.11-94加密哈希算法。该图书馆便携,重量轻。


0
2018-06-24 09:24