一、问题说明
今天写AES加/解密功能的apk,设想是四个控件(测试用的,界面丑这种东西请忽略)
一个编缉框----用于输入要加密的字符串
一个文本框----用于输出加密后的字符串,和加密后点击解密按钮时解密后的字符串
一个加密按钮----点击后进行加密
一个解密按钮----点击后进行解密
界面如下:
点击加密没有问题,但再点击解密的时候一直报错:“W/System.err: javax.crypto.IllegalBlockSizeException: error:1e00007b:Cipher functions:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH”
二、报错追踪
因为用于加解密的类是大学时密码学大作业用过的,基本确定不会有问题,所以将问题确定在传过去的参数有问题上。
2.1 toString()错误使用
首先观察发现无论加密字符串内容和长度如何改变,加密的结果总是"[B@xxxxxx"的形式,如下图所示