SAS MD5 Hashing - PullRequest
       21

SAS MD5 Hashing

0 голосов
/ 14 мая 2018

Я хочу хешировать конфиденциальную информацию (1 поле) в моем наборе данных SAS с использованием MD5. Но после хеширования данные выглядят неловко, то есть все специальные символы. Это правильный способ использования хэш-функции?

Мой код:

data md5; 
set sashelp.class (obs=2); 
md5 = md5(strip(name)); 
keep name md5; 
put _all_;
run; 

Мой вывод:

Name=Alfred Sex=M Age=14 Height=69 Weight=112.5 md5=�p?ޞ��\�rT]( _ERROR_=0 _N_=1
 Name=Alice Sex=F Age=13 Height=56.5 Weight=84 md5=dH���/�x{�͇!K8 _ERROR_=0 _N_=2

1 Ответ

0 голосов
/ 14 мая 2018

Это верно, вам просто нужно применить шестнадцатеричный формат $hex32., чтобы он читался. MD5 - это 128-битный хэш, но есть лучшее хеширование, которое называется SHA256 () , то есть 256-битный хэш.

Код:

data md5; 
set sashelp.class (obs=2); 
format md5 $hex32.; 
md5 = md5(strip(name)); 
keep name md5; 
put _all_;
run;

Выход:

 Name=Alfred md5=86703FDE9E87DD5C0F8E1072545D0128 
 Name=Alice  md5=64489C85DC2FE0787B85CD87214B3810

Примечание:

Вы также можете добавить значения SALT или PEPPER в вашу строку для дополнительной безопасности; Это конкатенация строк к началу или концу вашей строки.

...