gpt4 book ai didi

c++ - 比较 sha1 哈希是否相等的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-04 15:25:22 25 4
gpt4 key购买 nike

我想比较两个 sha1 哈希是否相等。最有效的方法是什么?目前,我正在尝试使用 memcmp。谢谢。

最佳答案

好吧,由于您在编译时已经知道 block 有多大,您可以这样做:

#include <cstdint>

bool is_same_sha1(const char* p, const char* q)
{
const std::uint32_t* a = (const std::uint32_t*)p;
const std::uint32_t* b = (const std::uint32_t*)q;
return a[0] == b[0] && a[1] == b[1] && a[2] == b[2]
&& a[3] == b[3] && a[4] == b[4];
}

但不要盲目接受我的建议,您应该根据 memcmp 解决方案衡量任何自定义解决方案,并且仅在它给您带来显着性能优势时才使用它。如果 memcmp 仍然更快,我什至不会感到惊讶,因为它做了一些非常聪明和肮脏的事情。

关于c++ - 比较 sha1 哈希是否相等的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9698259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com