>

MD5를 사용하여 SAS 데이터 세트의 민감한 정보 (1 필드)를 해시하고 싶습니다. 그러나 해시 후 데이터가 어색해 보입니다 (예 : 모든 특수 문자). 이것이 해시 함수를 사용하는 올바른 방법입니까?

내 코드 :

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

    맞습니다. 16 진수 형식 $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 값을 추가 할 수도 있습니다. 문자열은 문자열의 시작 또는 끝에 연결됩니다.

  • 이전 Ubuntu 18 - 우분투 18 - 넷 플랜 :cloudcfg 비활성화 문제
  • 다음 sql server - 데이터베이스 세트에서 읽고 쓰는 응용 프로그램을 빌드해야 할 때 Apache Gora가 적합합니까?