我使用的是https://github.com/jblough/Android-Pdf-Viewer-Library的AndroidPDFViewer库,它是我在Android版本4.03上实现的一个库。所有其他文件都工作正常,我只是有一个问题,试图读取一个密码加密的文件与已知的密码,并使用AES加密与128位密钥长度。我甚至尝试对密码进行硬编码,并将其一直跟踪到StandardDecrypter.java,这在此循环中的md5.update处给出了一个非法参数异常
if (revision >= 3) {
for (int i = 0; i < 50; ++i) {
md5.update(hash, 0, key.length);
digestTo(md5, hash);
}
}我遗漏了什么?
发布于 2013-07-16 21:18:49
错误是因为key.length返回值128。它应为16,因为AES 128密钥的长度为16字节。我更改了此值
final int keyLen =revision == 2 ? 5 : (keyBitLength / 8);至
final int keyLen =16;它只适用于AES 128
https://stackoverflow.com/questions/17528523
复制相似问题