Ansicht
Dokumentation
CL_ABAP_HMAC - Message Authentication Code (MAC) einer Nachricht
General Data in Customer Master ABAP Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Die Klasse dient zur Erzeugung eines Message Authentication Codes. Dieser wird auch als MAC bezeichnet.
Ein MAC Verfahren, welches auf der Basis von Einweg-Hash-Funktionen funktioniert, wird als HMAC bezeichnet. 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.
Das HMAC Verfahren unterscheidet sich vom klassischen HASH Verfahren in der Form, dass es auf Basis eines "geheimen" (symmetrischen) Schlüssels beruht. Hierdurch kann ein HMAC nur vom Erzeuger überprüft werden.
Beispiel
DATA: lo_hmac TYPE Ref To cl_abap_hmac.
DATA: lf_hmac_string TYPE string.
lo_hmac = cl_abap_hmac=>get_instance( 'sha1' 'secret' ).
" update HMAC with input
lo_hmac->update( if_data = '010203' ).
" finalise hmac
lo_digest->final( ).
" String
lf_hmac_string = lo_hmac->to_string( ).
" Base64 representation
lf_hmac_string = lo_hmac->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://www.ietf.org/rfc/rfc2104.txt
Fill RESBD Structure from EBP Component Structure ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 2179 Date: 20240328 Time: 234553 sap01-206 ( 61 ms )