使用 cpp 生成哈希键
Generating a hash key using cpp
我试图使用以下代码为 cpp 中的无符号长变量生成哈希键:
#include <iostream>
#include <functional>
#include <string>
#include <bitset>
#include <stdlib.h>
int main()
{
using namespace std;
unsigned long long pc[100];
unsigned long long h[100];
for(int i=0;i<100;i++)
{
pc[i] = i%50;
hash<unsigned long long> hash_fn;
h[i] = hash_fn(pc[i]);
std::cout <<pc[i]<< "=" << h[i] << 'n';
}
return 0;
}
但我最终得到了与签名形式的输入相同的值。如果我做错了,请告诉我。这是我提到的链接。CPP 中的哈希函数
根据 cppreference 的 std::hash 描述:
值得注意的是,一些实现使用琐碎(身份)哈希 将整数映射到自身的函数。换句话说,这些哈希 函数旨在与无序关联容器一起使用, 但不是加密哈希,例如。
相关文章:
- 为什么C++ STL 哈希表 (unordered_map) 不接受向量作为键
- C++哈希表 - 如何解决自定义数据类型作为键的unordered_map冲突?
- CPP unordered_set只使用比较器而不是哈希
- 实现具有浮点键的类似哈希表的数据结构,其中公差内的值被合并在一起
- 在 cpp 自己的版本中对字符串进行哈希处理
- 错误:哈希函数必须可使用键类型的参数进行调用
- 哈希函数中同一键的不同值和良好的哈希值排序
- 插入不从哈希函数中检索键
- C 11多态映射键静态断言失败:哈希函数必须与密钥类型的参数无关
- 在几个键的哈希表处搜索
- 标准::unordered_map中的键与哈希
- 哈希表,其中键是字符串,值是 c++ 中的函数
- 使用 cpp 生成哈希键
- 用Cpp或其他快速语言反转大型哈希表
- 如何用tbb实现一个将键映射到不同类型值的并发哈希表
- C++:将自定义哈希键值从 unordered_map 输出到 std::cout 时出错
- 在桌面应用程序中存储哈希、盐、键的位置
- 字符串与哈希作为映射键 - 性能
- 生成(无效 *)数据的哈希键
- 哈希键和值