Używam Jasypt do szyfrowania. To jest mój kod:Jak dowiedzieć się, jaki algorytm [szyfrowanie] obsługuje moja JVM?
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);
}
}
Odkomentuj linia setAlgorithm
i będzie to wyjątek
org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption uniósł excep nia. możliwą przyczyną jest używasz silnych algorytmy szyfrowania i nie masz zainstalowana Java Cryptography Ex napięcie (JCE) Nieograniczona Siła Polityka Jurysdykcja pliki w tym Java Virtual Machine
api mówi:
Ustawia algorytm być używany do szyfrowania Ustawia algorytm być używany do szyfrowania, jak PBEWithMD5AndDES.
Algorytm ten musi być poparte dostawcy JCE (jeśli podany, lub domyślnego dostawcy JVM jeśli nie), a jeśli jest obsługiwany, to mogą tryb i wyściółka również określić za to, podobnie jak ALGORYTM/MODE/PADDING.
Teraz, kiedy wypowiedzieć 'setAlgorithm' użyje domyślnego algorytmu [Myślę, że to md5], i będzie działać dobrze. Oznacza to, że md5 jest obsługiwany przez moją maszynę JVM. Teraz dowiesz się, jakie inne algorytmy szyfrowania są obsługiwane przez moją maszynę JVM.
Dzięki,
używam JDK 1.6 –
Zamiast: System.out.println ("algorytmu:" + service.getAlgorithm()); użyj System.out.println ("" + usługa); i będziesz mógł zobaczyć poziomy szyfrowania dostępne. Na przykład: poniższe informacje wskazują, że obsługiwane jest 128-bitowe szyfrowanie AES, ale nie 256-bitowe AES: SunJCE: Cipher.AES -> com.sun.crypto.provider.AESCipher ... ObsługiwaneModes = 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 | OFB1 | | OFB120 | OFB128} –
Lista kodów zawiera wiele algorytmów, których nie można użyć. Niezbyt pomocny kod. – Jonas