繁体   English   中英

如何从用户输入生成唯一字符串?

[英]How to generate unique string from users input?

例如,用户可以提交$a$b$c 我需要从这些输入中创建一个唯一的字符串。

如果我使用$uniq = $a$b$c ,则输入$a=AB, $b=CD, $c=EF$a=A, $b=BCD, $c=EF都生成$uniq=ABCDEF

如果我使用$uniq = $a|$b|$c ,则$a=AB, $B=CD, $c=EF| $a=AB|CD, $b=EF, $c=""都生成$uniq=AB|CD|EF|

我怎样才能做到这一点?

正确和安全的解决方案是为$a$b$c生成单独的哈希值,然后通过级联或生成另一个哈希值将这些哈希值组合在一起。

这是一个算法:

$a_h = hash($a)
$b_h = hash($b)
$c_h = hash($c)
$uniq = hash($a_h$b_h$c_h)

根据您的要求,可能还需要添加“盐”以使其更加安全: https : //en.wikipedia.org/wiki/Salt_(cryptography)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM