【发布时间】:2012-12-10 15:49:05
【问题描述】:
为什么要提供哈希函数而不指定任何引用实现,也没有指定引用算法(md5、sha256 等)?
数据结构也有类似的功能,例如符合 C++ 标准的std::unordered_map/set/multimap/multiset::hash_function。
所以我不明白的是:
- 为什么要提供这种未记录的方法
- 实现细节是正确使用散列函数的基础,从程序员的角度来看,这些函数的用途是什么
- 此函数可以链接到特定算法?
【问题讨论】:
-
std::hash 和 sha/md5 是不同的东西。 std::hash 用于为数据结构查找等生成哈希码。它并不意味着是一个加密哈希函数。