我需要实现一个简单的哈希算法。
输入数据:
- 值(16位整数)。
- 键(任意长度)。
输出数据:
- 6位哈希(数字0-63)。
要求:
- 如果只有输入值而没有键,几乎不可能预测哈希值。更具体地说:如果我已知 x < M 的哈希值 hash(x),则在不知道键的情况下很难预测哈希(M)。
可能的解决方案:
- 将完整的映射保留为键。因此,键的长度为 2^16*6 位。但这对我的情况来说太长了。
- 线性编码。键是一个生成矩阵,其长度为 16*6。但使用多个已知哈希值很容易找到生成矩阵。
是否有其他可能性?