मैं निम्न त्रुटि हो गया और मैं एक छोटे से अटक गया है: सूत्र में अपवाद "मुख्य"java.security.InvalidKeyException: में अवैध कुंजी आकार या डिफ़ॉल्ट मापदंडों एंड्रॉयड
java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1011)
at javax.crypto.Cipher.implInit(Cipher.java:786)
at javax.crypto.Cipher.chooseProvider(Cipher.java:849)
at javax.crypto.Cipher.init(Cipher.java:1213)
at javax.crypto.Cipher.init(Cipher.java:1153)
at net.nakou.indie.wtext.engineClass.Session.cryptString(Session.java:52)
मैं अटक क्योंकि सभी कर रहा हूँ उत्तर मुझे जावा क्रिप्टोग्राफी एक्सटेंशन (जेसीई) के बारे में बात मिली है जो आमतौर पर एंड्रॉइड एसडीके में शामिल की जाती है। तो मुझे लगता है कि मेरी समस्या यह नहीं है।
मुझे कुछ भूल जाना चाहिए था, लेकिन मुझे क्या नहीं मिला। शायद मेरा कोड गलत है (यह जावा में क्रिप्टोग्राफी का मेरा पहला दृष्टिकोण है, मैं एक विशेषज्ञ नहीं हूं, और निम्न कोड ज्यादातर ट्यूटोरियल के कुछ प्रति-पेस्ट हैं)।
public String cryptString(String s) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException, BadPaddingException, IllegalBlockSizeException {
byte[] KeyData = this.cryptKey.getBytes();
SecretKeySpec KS = new SecretKeySpec(KeyData, "Blowfish");
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.ENCRYPT_MODE, KS);
String ret = new String(cipher.doFinal(s.getBytes("UTF-8")));
return ret;
}
public String decryptString(byte[] s) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException {
byte[] KeyData = this.cryptKey.getBytes();
SecretKeySpec KS = new SecretKeySpec(KeyData, "Blowfish");
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.DECRYPT_MODE, KS);
String ret = new String(cipher.doFinal(s));
return ret;
}
और निम्नलिखित महत्वपूर्ण:
private String cryptKey = "[email protected]@FDFqf";
तुम लोगों को धन्यवाद
मैं तहखाना और एक स्ट्रिंग डिक्रिप्ट करने के लिए इस कोड का उपयोग।
लंबी कहानी संक्षेप में, कोई फर्क नहीं पड़ता अगर यह ADK का एक हिस्सा है, तो आप इसे बदलने की जरूरत है सब $ जावा/JRE में एक ही/lib/सुरक्षा किसी भी जावा एप्लिकेशन के रूप में। –