javax.crypto.IllegalBlockSizeException: Input length not multiple of 8 bytes
使用java des加密算法時,出現javax.crypto.IllegalBlockSizeException: Input length not multiple of 8 bytes錯誤,
必須要是8的整數倍,我想可能是在加密、解密時防止字符之間錯誤www.twitterchina.net。解決辦法只能將字符串封裝成8的整數倍了
//Exception in thread "main" javax.crypto.IllegalBlockSizeException: Input length not multiple of 8 bytes
String hello="生成秘鑰生。";
int len=hello.getBytes("utf-8").length;
if(len%8!=0){
System.out.println("不是8的整數倍");
byte[] hellotemp=new byte[len+(8-len%8)];
for(int i=0;i<len;i++){
hellotemp[i]=hello.getBytes("utf-8")[i];
}
hello=new String(hellotemp,"utf-8");
}
System.out.println(hello.getBytes("utf-8").length);
來源:www.javait.org
轉載于:https://www.cnblogs.com/mortre/p/6410808.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的javax.crypto.IllegalBlockSizeException: Input length not multiple of 8 bytes的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HAproxy编译安装
- 下一篇: linux 关机命令总结