Encryption 如何散列/加密字符串以保护私有信息,但仍使字符串具有可比性

Encryption 如何散列/加密字符串以保护私有信息,但仍使字符串具有可比性,encryption,hash,hashcode,Encryption,Hash,Hashcode,给定一个字符串,如何为该字符串创建唯一标识符/哈希,以便在不实际记录原始字符串的情况下跟踪该字符串的出现 例如,URL“www.mylittlesecret.com”应显示为“xyz123”(该字符串的hascode)。因此,url始终转换为xyz123,但无法从xyz123确定url 对不起,如果这些是错误的术语。如果有人能给我提供正确的关键字,我很高兴能读到更多关于“哈希”的内容。如果你使用像SHA1这样的哈希算法,你会得到想要的行为。您将无法从散列重建URL,但您可以比较散列并查看URL是

给定一个字符串,如何为该字符串创建唯一标识符/哈希,以便在不实际记录原始字符串的情况下跟踪该字符串的出现

例如,URL“www.mylittlesecret.com”应显示为“xyz123”(该字符串的hascode)。因此,url始终转换为xyz123,但无法从xyz123确定url


对不起,如果这些是错误的术语。如果有人能给我提供正确的关键字,我很高兴能读到更多关于“哈希”的内容。

如果你使用像SHA1这样的哈希算法,你会得到想要的行为。您将无法从散列重建URL,但您可以比较散列并查看URL是否相同


但是,如果有人想知道你有什么URL,你将受到类似于字典的攻击,用户只需获取所有已知网站的列表,然后查看哈希是否匹配。因此,这可能是需要注意的。

如果您使用像SHA1这样的哈希算法,您将获得所需的行为。您将无法从散列重建URL,但您可以比较散列并查看URL是否相同


但是,如果有人想知道你有什么URL,你将受到类似于字典的攻击,用户只需获取所有已知网站的列表,然后查看哈希是否匹配。所以这可能是需要注意的。

可能的重复:。(它至少回答了这些问题)…一个重要的问题是两个字符串不能产生相同的哈希是否是一个要求。这被称为“碰撞”。如果这是一个要求,那么您可能会看到比“xyz123”更长的散列。如果不需要冲突,请查看“加密散列函数”,特别是SHA-2系列函数。谢谢,我不能确定这是否是一个要求。我不认为冲突是一个问题,因为我每个用户只有数百个字符串,冲突的效果不会很明显。不过我还是会看看SHA-2的,也许用起来没什么坏处。可能重复:。(它至少回答了这些问题)…一个重要的问题是两个字符串不能产生相同的哈希是否是一个要求。这被称为“碰撞”。如果这是一个要求,那么您可能会看到比“xyz123”更长的散列。如果不需要冲突,请查看“加密散列函数”,特别是SHA-2系列函数。谢谢,我不能确定这是否是一个要求。我不认为冲突是一个问题,因为我每个用户只有数百个字符串,冲突的效果不会很明显。不过我还是会看看SHA-2的,也许用起来没什么坏处。