Tôi đang sử dụng Jasypt để mã hóa. Đây là mã của tôi:Cách tìm hiểu thuật toán [mã hóa] nào được JVM của tôi hỗ trợ?
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);
}
}
Bỏ ghi chú dòng setAlgorithm
và nó sẽ ném một ngoại lệ
org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption nhướn tion excep. Một nguyên nhân có thể là bạn đang sử dụng mạnh mẽ thuật toán mã hóa và bạn chưa cài đặt Java Cryptography Ex căng thẳng (JCE) Unlimited Strength Policy Thẩm quyền tập tin trong này Java Virtual Machine
api nói:
Đặt thuật toán được sử dụng để mã hóa Đặt thuật toán là được sử dụng để mã hóa, như PBEWithMD5AndDES.
thuật toán này phải được hỗ trợ bởi nhà cung cấp JCE của bạn (nếu bạn chỉ định một, hoặc nhà cung cấp JVM mặc định nếu bạn không), và nếu nó được hỗ trợ, bạn cũng có thể chỉ chế độ và đệm cho , như ALGORITHM/MODE/PADDING.
Bây giờ, khi bạn nhận xét 'setAlgorithm' nó sẽ sử dụng mặc định Algorithm [i đoán nó là md5], và nó sẽ hoạt động tốt. Điều đó có nghĩa là md5 được hỗ trợ bởi JVM của tôi. Bây giờ, làm thế nào để tìm hiểu các thuật toán mã hóa khác được hỗ trợ bởi JVM của tôi.
Cảm ơn,
tôi đang sử dụng jdk 1.6 –
Thay vì: System.out.println ("Thuật toán:" + service.getAlgorithm()); sử dụng System.out.println ("" + dịch vụ); và bạn sẽ có thể thấy mức độ mã hóa có sẵn. Ví dụ, sau đây chỉ ra rằng mã hóa AES 128 bit được hỗ trợ, nhưng không phải là 256 bit AES: SunJCE: Cipher.AES -> com.sun.crypto.provider.AESCipher ... SupportedModes = ECB | CBC | PCBC | CTR | CTS | CFB | CFB24 | CFB32 | CFB32 | CFB48 | CFB32 | CFB40 | OFB8 | OFB16 | OFB24 | OFB32 | OFB40 | OFB48 | OFB56 | OFB64 | CFB72 | CFB80 | CFB88 | CFB96 | CFB104 | CFB112 | CFB120 | OFB88 | OFB96 | OFB104 | OFB1 | OFB120 | OFB128} –
Mã danh sách rất nhiều thuật toán không thể sử dụng. Mã không hữu ích lắm. – Jonas