Ansicht
Dokumentation
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 R3upDiese Dokumentation steht unter dem Copyright der SAP AG.
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 )