Um Passwörter zu erzeugen möchte in in einem RFC-FuBa dei Methode
CL_ABAP_MESSAGE_DIGEST=>CALCULATE_HASH_FOR_CHAR
oder
CALCULATE_HMAC_FOR_CHAR=>CL_ABAP_HMAC
nutzen um aus den Klartext Passwörtern die SHA512 Werte zu erzeugen. Zu meiner Überraschung weichen die Werte von den erwarteten ab:
Klartextpasswort: uT`b5b;[BkMxyJy*
in
https://hashgenerator.de/
liefert bei der Wahl SHA512: 25106ab4a4a577e01e17b11de561178263e526a4a95f8e91b93c5e176c85488b9c18666785f0abe65f9eea506661909bc30f7e4c1cf19d02f6c45930f97e98ce
Die Methode
CL_ABAP_MESSAGE_DIGEST=>CALCULATE_HASH_FOR_CHAR
Import-Parameter
IF_ALGORITHM SHA512
IF_DATA uT`b5b;[BkMxyJy*
IF_LENGTH 0
liefert in SE24:
TestObject->CALCULATE_HASH_FOR_CHAR()
Groß/Kleinschreibung aktiv
Laufzeit: 50 Mikrosekunden
CALCULATE_HASH_FOR_CHAR
Import-Parameter
IF_ALGORITHM SHA512
IF_DATA UT`B5B;[BKMXYJY*
IF_LENGTH 0
Export-Parameter
EF_HASHSTRING 7399E3252D8369C9C9B7F6DE86214334B6BA47617A969607F32A942AB9147040B0E0DA (7399E3252D8369C9C9B7F6DE86214334B6BA47617A969607F32A942AB9147040B0E0DA50E9C5049507D6F5D68933D78B0285703B45F3BA42F92D08F05141FE50 ungeschnitten)
EF_HASHXSTRING 7399E3252D8369C9C9B7F6DE86214334B6BA47617A969607F32A942AB9147040B0E0DA
EF_HASHB64STRING c5njJS2DacnJt/behiFDNLa6R2F6lpYH8yqUKrkUcECw4NpQ6cUElQfW9daJM9eLAoVwO0
EF_HASHX 7399E3252D8369C9C9B7
Achtung: IF_DATA ist nun Uppercase UT`B5B;[BKMXYJY* und das in
https://hashgenerator.de/
liefert: 7399e3252d8369c9c9b7f6de86214334b6ba47617a969607f32a942ab9147040b0e0da50e9c5049507d6f5d68933d78b0285703b45f3ba42f92d08f05141fe50
Weder in SE24 noch im RFC-FuBa selbst kann ich die Methode nicht dazu "überreden" das Passwort case sensitive zu betrachten.
Meine Frage: übersehe ich etwas bei der Parameterübergabe? Es macht doch wenig Sinn das Passwort in UpperCase intern umzuwandeln und dann Hash-Wert zu berechnen.
In SNC und Marketplace fand ich nichts brauchbares. CALCULATE_HMAC_FOR_CHAR=>CL_ABAP_HMAC benimmt sich genauso daneben.
Für Meinungen und Tipps wäre ich sehr dankbar!
Grüße