Ich benutze Jasypt für die Verschlüsselung. Dies ist mein Code:Wie finde ich heraus, welcher Algorithmus [Verschlüsselung] von meiner JVM unterstützt wird?
public class Encryptor {
private final static StandardPBEStringEncryptor pbeEncryptor = new StandardPBEStringEncryptor();
private final static String PASSWORD = "FBL";
private final static String ALGORITHM = "PBEWithMD5AndTripleDES";
static{
pbeEncryptor.setPassword(PASSWORD);
//pbeEncryptor.setAlgorithm(ALGORITHM);
}
public static String getEncryptedValue(String text){
return pbeEncryptor.encrypt(text);
}
public static String getDecryptedValue(String text){
return pbeEncryptor.decrypt(text);
}
}
Kommentar- der setAlgorithm
Linie und es wird eine Ausnahme
org.jasypt.exceptions.EncryptionOperationNotPossibleException werfen: Encryption hob eine excep tion. Eine mögliche Ursache ist das Sie verwenden starke Verschlüsselungsalgorithmen und Sie haben nicht die Java Cryptography Ex Spannung (JCE) Unlimited Strength Jurisdiction Policy Files in diesem Java Virtual Machine
api sagt installiert:
Setzt der Algorithmus verwendet werden, für Verschlüsselung Legt den Algorithmus verwendet für die Verschlüsselung werden, wie PBEWithMD5AndDES.
hat Dieser Algorithmus von Ihr JCE Provider unterstützt werden (falls Sie eine angeben, oder die Standard-JVM-Anbieter, wenn Sie dies nicht tun ) und, falls sie unterstützt wird, Sie auch für Mode und Polsterung angeben es, wie ALGORITHMUS/MODE/PADDING.
Wenn Sie nun ‚setAlgorithm‘ Kommentar wird es den Standardalgorithmus verwenden [Ich denke, es ist md5], und es wird gut funktionieren. Das heißt, MD5 wird von meiner JVM unterstützt. Wie finde ich heraus, welche anderen Verschlüsselungsalgorithmen von meiner JVM unterstützt werden?
Danke,
ich bin mit JDK 1.6 –
Statt: System.out.println ("Algorithmus:" + service.getAlgorithm()); benutze System.out.println ("" + service); und Sie können die verfügbaren Verschlüsselungsstufen sehen. Im Folgenden wird beispielsweise angegeben, dass 128-Bit-AES-Verschlüsselung unterstützt wird, aber nicht 256-Bit-AES: SunJCE: Cipher.AES -> com.sun.crypto.provider.AESCipher ... UnterstützteModi = ECB | CBC | PCBC | CTR | CTS | CFB | OFB | CFB8 | CFB16 | CFB24 | CFB32 | CFB40 | CFB48 | CFB56 | CFB64 | OFB8 | OFB16 | OFB24 | OFB32 | OFB40 | OFB48 | OFB56 | OFB64 | CFB72 | CFB80 | CFB88 | CFB96 | CFB104 | CFB112 | CFB120 | CFB128 | OFB72 | OFB80 | OFB88 | OFB96 | OFB104 | OFB112 | OFB120 | OFB128} –
Der Code listet viele Algorithmen auf, die nicht verwendet werden können. Nicht so hilfreicher Code. – Jonas