मैं एन्क्रिप्शन के लिए Jasypt का उपयोग कर रहा हूँ। यह मेरा कोड है:यह पता लगाने के लिए कि मेरे जेवीएम द्वारा क्या एल्गोरिदम [एन्क्रिप्शन] समर्थित है?
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);
}
}
टिप्पणी हटाएं setAlgorithm
लाइन और यह एक अपवाद
org.jasypt.exceptions.EncryptionOperationNotPossibleException फेंक देगा: एन्क्रिप्शन में एक अपवाद tion उठाया। एक संभावित कारण आप मजबूत एन्क्रिप्शन एल्गोरिदम का उपयोग कर रहे है और आप जावा क्रिप्टोग्राफी पूर्व तनाव (JCE) असीमित शक्ति इस जावा वर्चुअल मशीन
एपीआई का कहना है में क्षेत्राधिकार नीति फ़ाइलें नहीं स्थापित:
सेट एल्गोरिथ्म के लिए एन्क्रिप्शन एल्गोरिथ्म सेट किया जा , एन्क्रिप्शन के लिए इस्तेमाल करने के लिए PBEWithMD5AndDES की तरह इस्तेमाल किया जा रहा।
इस एल्गोरिथ्म अपने JCE प्रदाता द्वारा समर्थित होने के लिए, आप भी के लिए मोड और गद्दी निर्दिष्ट कर सकते हैं अगर यह समर्थित है और, (यदि आप एक है, या डिफ़ॉल्ट JVM प्रदाता यदि आप नहीं उल्लेख करें) है इसे एल्गोरिथ्म/मोड/पैडिंग की तरह।
अब, जब आप 'setAlgorithm' टिप्पणी यह डिफ़ॉल्ट एल्गोरिथ्म [मैं लगता है कि यह md5 है] का उपयोग करेगा, और यह ठीक काम करेंगे। इसका मतलब है कि एमडी 5 मेरे जेवीएम द्वारा समर्थित है। अब, यह पता लगाने के लिए कि मेरे जेवीएम द्वारा अन्य एन्क्रिप्शन एल्गोरिदम समर्थित हैं।
धन्यवाद,
मैं इसके बजाय JDK 1.6 –
उपयोग कर रहा हूँ ("एल्गोरिथ्म:" + service.getAlgorithm()); System.out.println ("" + सेवा) का उपयोग करें; और आप उपलब्ध एन्क्रिप्शन के स्तर को देखने में सक्षम होंगे। उदाहरण के लिए, निम्नलिखित इंगित करता है कि 128 बिट एईएस एन्क्रिप्शन समर्थित है, लेकिन 256 बिट एईएस नहीं: सनजेसीई: सिफर.एईएस -> com.sun.crypto.provider.AESCipher ... समर्थित मोड = ईसीबी | सीबीसी | पीसीबीसी | सीटीआर | सीटीएस | CFB | ओएफबी | CFB8 | CFB16 | CFB24 | CFB32 | CFB40 | CFB48 | CFB56 | CFB64 | OFB8 | OFB16 | OFB24 | OFB32 | OFB40 | OFB48 | OFB56 | OFB64 | CFB72 | CFB80 | CFB88 | CFB96 | CFB104 | CFB112 | सीएफबी 120 | सीएफबी 128 | OFB72 | OFB80 | OFB88 | OFB96 | OFB104 | OFB112 | OFB120 | OFB128} –
कोड बहुत सारे एल्गोरिदम सूचीबद्ध करता है जिनका उपयोग नहीं किया जा सकता है। इतना उपयोगी कोड नहीं है। – Jonas