Ansicht
Dokumentation

CL_ABAP_HMAC - Message Authentication Code (MAC) einer Nachricht

CL_ABAP_HMAC - Message Authentication Code (MAC) einer Nachricht

General Data in Customer Master   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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 )