Message Digest 생성방법

1. 요청사항 : EP 패스워드와 BSP화면의 패스워드 일치여부를 확인하여 화면제어 (현재 EP 패스워드는 SHA2-512 알고리즘 사용)

2. 해결방법 : SAP MD 클래스를 이용해 패스워드 MD값 확인(대문자 변환 필요)

0. 전제조건

 – SAP 시스템 확인 필요

cfile7.uf.211E824754AF716A15400D.pdf

1. SAP Message Digest 관련 Class

 – Class : CL_ABAP_MESSAGE_DIGEST

 – Method : CALCULATE_HASH_FOR_CHAR

2. Test 화면

3. Source Code

DATA: gcl_abap_message_digest TYPE REF TO cl_abap_message_digest.

DATA: lv_hashstring TYPE string.

gcl_abap_message_digest = cl_abap_message_digest=>get_instance( if_algorithm = ‘SHA512’ ).

gcl_abap_message_digest->calculate_hash_for_char(

  EXPORTING if_algorithm = ‘SHA512’    ” 알고리즘 유형

            if_data = ‘pass’    ” 평문 패스워드

  IMPORTING ef_hashstring = lv_hashstring ).

WRITE:/ lv_hashstring.

4. Message Digest 적용대상

 – SHA1, SHA256, SHA512로 Input값 변경


 출처 : http://en.wikipedia.org/wiki/SHA-2