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