Ansicht
Dokumentation

CL_ABAP_MESSAGE_DIGEST - Kryptografischer Hash-Wert einer Nachricht

CL_ABAP_MESSAGE_DIGEST - Kryptografischer Hash-Wert einer Nachricht

Fill RESBD Structure from EBP Component Structure   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klassee dient zur Erzeugung eines Message Digests. Dieser wird auch als Hashwert bezeichnet.

Es handelt sich um Einweg-Hash-Funktionen. Diese Funktionen treten mit dem Anspruch auf, dass sie nicht umkehrbar seien und auch keine Kollision berechenbar sei. Das bedeutet, dass es nicht möglich sein soll, zu einem Chiffrat den Originaltext wieder herzustellen (unumkehrbar). Es soll auch nicht möglich sein, einen Text zu berechnen, der das gleiche Chiffrat wie der Originaltext erzeugt (kollisionsfrei).

Beziehungen

Abhängig vom ABAP Kernel sind verschiedene Hashalgorithmen installiert, z.B. SHA1 oder SHA256.

Beispiel

DATA: lo_digest TYPE Ref To cl_abap_message_digest.

DATA: lf_digest_string TYPE string.

lo_digest = cl_abap_message_digest=>get_instance( 'sha1' ).

" update digest with input

lo_digest->update( if_data = '010203' ).

" finalise digest

lo_digest->digest( ).

" String

lf_digest_string   = lo_digest->to_string( ).

" Base64 representation

lf_digest_64string = lo_digest->to_base64( ).

Hinweise

Die Berechnung eines Hashwertes ist nötig, um zum Beispiel lange Texte in einer Datenbanktabelle indizierbar zu machen. Die Länge des Hashwertes ist immer konstant, z.B. 20 Bytes bei SHA1. Durch Erzeugung eines Hashes aus einem Strings/langen Text in einer Tabelle, kann dieser indiziert werden und somit schneller wiedergefunden werden.

Weiterführende Informationen

http://csrc.nist.gov/groups/STM/cavp/documents/shs/SHAVS.pdf






PERFORM Short Reference   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 1922 Date: 20240423 Time: 081701     sap01-206 ( 35 ms )