ssn编号的数据类型

时间:2015-06-04 18:02:24

标签: sql-server

我需要给出4digit ssn数的散列值和9位ssn数的散列值的数据类型.4位和9位的散列值是否会变成相同的长度?

2 个答案:

答案 0 :(得分:1)

如果你使用hashbytes函数将它们存储为哈希值,我相信所有函数都会输出一个长度相同的二进制字符串。如果您只是将数字转换为类似varbinary的数字,则长度将不同。我个人倾向于将散列存储为二进制,并且只允许散列算法所需的字符数。

select 
    hashbytes('sha1', '123-45-6789'),
    hashbytes('sha1', '6789')

答案 1 :(得分:0)

我建议使用SSN的varchar数据类型

  

4位和9位的散列值是否相同   长度?

我不认为它会与SSN相同,包括区号,组号和序列号,因此如果它存储为varchar,则在散列时它将不相同。