使用 cpp 生成哈希键

Generating a hash key using cpp

本文关键字:哈希键 cpp 使用      更新时间:2023-10-16

我试图使用以下代码为 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 描述:

值得注意的是,一些实现使用琐碎(身份)哈希 将整数映射到自身的函数。换句话说,这些哈希 函数旨在与无序关联容器一起使用, 但不是加密哈希,例如。