encryption - Storing scrambled Social Security numbers -


i need store social security number in unique scrambled state...

the reason: require social numbers, not want store them open in case if database gets compromised.

i want convert social security number string of alphanumerics , prefer one-way process.(not reversible)

then, when search existing ssn numbers, use same algorithm again user-input, scramble ssn , search database using alphanumeric string.

in php,

function maskssn($ssn) {     $salt = sha1(md5($ssn));     $scram = md5($ssn . $salt);     return $scram; } 

but not think produce unique values

if can store full hash (not truncated) shouldn't have collisions 9 digit ssn using secure hashes.

to keep hashes being brute forcible use hmac-sha1 or hmac-sha256 secret key. here related answer involved phone numbers , anonymizing data https://stackoverflow.com/a/15888989/637783

an aes-256 result wouldn't usable later out decryption, aes-256, , securely used, produces different results same input. however, used reasonably in relational table in ssn encrypted , stored against primary key other tables referencing key instead.

the later option allowed rotate keys pretty too, on time.


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -