java.security.InvalidKeyException:android中的非法密钥大小或默认参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java.security.InvalidKeyException:android中的非法密钥大小或默认参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1903字,纯文字阅读大概需要3分钟。
内容图文
我收到以下错误,我有点卡住了:
线程“main”中的异常
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)
我被困了,因为我发现的所有答案都谈到了Java密码学扩展(JCE),它通常包含在android SDK中.所以我认为我的问题不是这个问题.
我一定忘记了什么,但我找不到什么.也许我的代码是错误的(这是我在Java中的第一种加密方法,我不是专家,以下代码主要是教程的一些副本).
我使用此代码来加密和解密字符串:
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 = "qkjll5@2md3gs5Q@FDFqf";
感谢大伙们.
解决方法:
private String cryptKey =“qkjll5 @ 2md3gs5Q @ FDFqf”;
默认情况下,Java仅支持128位加密
128bits == 16Bytes == 16 Chars.
所以cryptKey不能超过16个字符.
如果你想要超过16个字符,你需要install Java Cryptography Extension (JCE) Unlimited Strength.
内容总结
以上是互联网集市为您收集整理的java.security.InvalidKeyException:android中的非法密钥大小或默认参数全部内容,希望文章能够帮你解决java.security.InvalidKeyException:android中的非法密钥大小或默认参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。