Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash 短小写字符串的标识哈希代码_Hash - Fatal编程技术网

Hash 短小写字符串的标识哈希代码

Hash 短小写字符串的标识哈希代码,hash,Hash,1) 我将收到一组唯一的用户ID,每组中有1到300个条目 2) 每个唯一用户id的长度为6-10个字符,所有字符均为小写a-z ASCII 3) 我需要为每个集合生成一个唯一标识符,空间中最大长度为256个字符 4) 该唯一标识符在“有效ASCII”之外没有界限 5) 如果两个不同的组生成相同的唯一组id,那么两个不相关组中的人将能够看到彼此的信息,我将向合规部解释为什么我认为这是一个好主意。让我们称之为hashcode问题 6) 如果两个相同的集合不能产生相同的id,那么这些用户的一系列信息

1) 我将收到一组唯一的用户ID,每组中有1到300个条目

2) 每个唯一用户id的长度为6-10个字符,所有字符均为小写a-z ASCII

3) 我需要为每个集合生成一个唯一标识符,空间中最大长度为256个字符

4) 该唯一标识符在“有效ASCII”之外没有界限

5) 如果两个不同的组生成相同的唯一组id,那么两个不相关组中的人将能够看到彼此的信息,我将向合规部解释为什么我认为这是一个好主意。让我们称之为hashcode问题

6) 如果两个相同的集合不能产生相同的id,那么这些用户的一系列信息将突然消失,我将向业务部门解释为什么我认为这是一个好主意。让我们称之为随机guid问题



是否有可以满足我需要的身份哈希?类似SHA-256的东西看起来“足够安全”,但感觉输入空间有限,而且哈希可逆(压缩而非加密)没有问题,这意味着有一个压缩函数可以完成这项工作。

压缩不能保证实际工作——如果ID是唯一的,那么实际上很可能您的数据是不可压缩的,或者至少不会以足够高的因子进行压缩以始终适合。加密散列听起来确实是你的最佳选择,即使冲突在技术上仍然不可避免——SHA-2可以高达512位,这仍然适合你的输出,并且足以将冲突的可能性降低到实际上的零。有限的输入空间不是问题;加密哈希是为了让每一点都变得重要而设计的。@Jeroen Mostert:你的帖子不是回答,不是评论吗?