Type de données pour le numéro ssn

Je dois donner un type de données pour la valeur hachée d'un nombre ssn 4digit et pour la valeur hachée d'un nombre ssn 9 numbers.Les valeurs hachées de 4 numbers et 9 numbers se transforment en une même longueur?

Si vous les stockez en hachage à l'aide de la fonction hashbytes, toutes les fonctions généreront une string binary de longueur identique. Si vous ne faites que convertir les nombres en quelque chose comme varbinary, les longueurs seront différentes. Personnellement, je serais enclin à stocker le hachage en tant que binary, et permettre juste autant de caractères que l'algorithm de hachage exige.

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

Je reorderais d'utiliser le type de données varchar pour SSN

Est-ce que les valeurs hachées de 4 numbers et 9 numbers se transforment en une même longueur?

Je ne pense pas que ce serait le même que SSN inclura le numéro de zone, le numéro de groupe, et le numéro de série, donc s'il est stocké comme varchar il ne serait pas le même quand hashed.