Is there a way to encrypt a field for an SSN? A client is wanting to store their employee’s files in a custom post type. I’ve got everything working great with the post type and ACF, but of course their SSN would need to be encrypted before we put live data in the fields.
Thanks in advance for any suggestions/solutions.
Just popping in to provide this information on hashing/unhashing because the link to andrewwho.nl is no longer.
function dec_enc($action, $string) {
$output = false;
$encrypt_method = "AES-256-CBC";
$secret_key = 'This is my secret key';
$secret_iv = 'This is my secret iv';
// hash
$key = hash('sha256', $secret_key);
// iv - encrypt method AES-256-CBC expects 16 bytes - else you will get a warning
$iv = substr(hash('sha256', $secret_iv), 0, 16);
if( $action == 'encrypt' ) {
$output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv);
$output = base64_encode($output);
}
else if( $action == 'decrypt' ){
$output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv);
}
return $output;
}
Source: https://web.archive.org/web/20161229224924/https://andrewho.nl/encrypt-decrypt-strings-php-easy-way/