SHA2 Passwortspeicherung mit Java

Ich versuche, einen XML-RPC-Aufruf durchzuführen, für den HmacSHA-256-Hashing einer bestimmten Zeichenfolge erforderlich ist. Ich verwende derzeit die Jasypt-Bibliothek mit dem folgenden Code:

StandardPBEStringEncryptor sha256 = new StandardPBEStringEncryptor();
          sha256.setPassword(key);
          sha256.setAlgorithm("PBEWithHmacSHA2");

ei dem Versuch, sha256.encrypt (string) zu verwenden, erhalte ich den folgenden Fehler:

Exception in thread "main" org.jasypt.exceptions.EncryptionInitializationException: java.security.NoSuchAlgorithmException: PBEWithHmacAndSHA256 SecretKeyFactory not available
     at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:597)
     at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:488)
     at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.encrypt(StandardPBEStringEncryptor.java:541)
     at nysenateapi.XmlRpc.main(XmlRpc.java:52)
    Caused by: java.security.NoSuchAlgorithmException: PBEWithHmacAndSHA256 SecretKeyFactory not available
     at javax.crypto.SecretKeyFactory.(DashoA13*..)
     at javax.crypto.SecretKeyFactory.getInstance(DashoA13*..)
     at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:584)
     ... 3 more

Ich habe die JCE Cryptography-Erweiterung heruntergeladen und die JARs in meinen Buildpath gestellt, aber das scheint nichts zu bewirken. Ich habe versucht, eine Reihe von Kombinationen in setAlgorithm zu verwenden, darunter "PBE", "PBEWithSha" (1 | 2 | 128 | 256) ?, "PBEWithHmacSha" usw.

Ich habe auch versucht, BouncyCastle zu verwenden, aber ich hatte dort auch kein Glück. Jede Hilfe oder Anleitung geschätzt!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage