使用jblough'加载密码加密的pdf文件;s AndroidPdViewer和AES
我使用的是AndroidPDFWiewer库,在Android版本4.03上实现了该库。所有其他文件都可以正常工作,我只是在尝试使用已知密码读取密码加密文件和使用128位密钥长度的AES加密时遇到问题。我甚至尝试对密码进行硬编码,然后将其发送到StandardDecrypter.java,这在这个循环中的md5.update中给了我一个非法参数异常使用jblough'加载密码加密的pdf文件;s AndroidPdViewer和AES,android,pdf,encryption,aes,secret-key,Android,Pdf,Encryption,Aes,Secret Key,我使用的是AndroidPDFWiewer库,在Android版本4.03上实现了该库。所有其他文件都可以正常工作,我只是在尝试使用已知密码读取密码加密文件和使用128位密钥长度的AES加密时遇到问题。我甚至尝试对密码进行硬编码,然后将其发送到StandardDecrypter.java,这在这个循环中的md5.update中给了我一个非法参数异常 if (revision >= 3) { for (int i = 0; i < 50; ++i) {
if (revision >= 3) {
for (int i = 0; i < 50; ++i) {
md5.update(hash, 0, key.length);
digestTo(md5, hash);
}
}
if(修订版>=3){
对于(int i=0;i<50;++i){
md5.update(散列,0,key.length);
digestTo(md5,散列);
}
}
我缺少什么?错误是因为key.length返回的值为128。它应该是16,因为AES 128密钥的长度为16字节。我更改了此值
final int keyLen =revision == 2 ? 5 : (keyBitLength / 8);
到
它只适用于AES 128
final int keyLen =16;