The standard class CL_ABAP_MESSAGE_DIGEST can generate hashes for string or raw data.
This sample builds a hash from a single input character value.
| DATA lo_digest TYPE Ref To cl_abap_message_digest. | |
| DATA lv_timestamp TYPE timestampl. | |
| DATA lv_hash_string TYPE string. | |
| DATA lv_hash_base64 TYPE string. | |
| * prepare test data | |
| GET TIME STAMP FIELD lv_timestamp. | |
| cl_abap_message_digest=>calculate_hash_for_char( | |
| EXPORTING | |
| if_algorithm = 'sha1' | |
| if_data = |{ lv_timestamp }| | |
| IMPORTING | |
| ef_hashstring = lv_hash_string | |
| ef_hashb64string = lv_hash_base64 | |
| ). | |
| * output hashes | |
| WRITE: / 'Hash string: ', lv_hash_string. | |
| WRITE: / 'Base64 string: ', lv_hash_base64. |