我需要给出4digit ssn数的散列值和9位ssn数的散列值的数据类型.4位和9位的散列值是否会变成相同的长度?
答案 0 :(得分:1)
如果你使用hashbytes函数将它们存储为哈希值,我相信所有函数都会输出一个长度相同的二进制字符串。如果您只是将数字转换为类似varbinary的数字,则长度将不同。我个人倾向于将散列存储为二进制,并且只允许散列算法所需的字符数。
select
hashbytes('sha1', '123-45-6789'),
hashbytes('sha1', '6789')
答案 1 :(得分:0)
我建议使用SSN的varchar
数据类型
4位和9位的散列值是否相同 长度?
我不认为它会与SSN相同,包括区号,组号和序列号,因此如果它存储为varchar
,则在散列时它将不相同。