【发布时间】:2013-05-04 08:46:45
【问题描述】:
我需要以唯一的加扰状态存储社会安全号码...
原因:我需要社交号码,但我不想将它们打开以防数据库遭到破坏。
我想将社会安全号码转换为字母数字字符串,我更喜欢这是一个单向过程。(不可逆)
然后,当我搜索现有的 SSN 号码时,我会再次使用相同的算法进行用户输入,打乱 SSN 并使用字母数字字符串搜索数据库。
在 php 中,我可以做类似的事情
function maskSSN($SSN) {
$salt = sha1(md5($SSN));
$SCRAM = md5($SSN . $salt);
return $SCRAM;
}
但我认为这不会产生独特的价值
【问题讨论】:
-
任何散列函数都有冲突。 SSN号有什么格式?
-
嗯,每个 SSN 号码都是唯一的,有 9 位数字
-
当你知道散列函数时,任何形式的暴力破解都很容易。在 9 位 SSN 上不太可能发生冲突。您可以暴力破解所有 SSN 号码并检查结果的唯一性
标签: security encryption encoding scramble