m0_50011957 2021-12-06 11:09
浏览 5
已结题

关于验证pdf1.6算法3.5的困惑(用户口令为空)

问题遇到的现象和发生背景

我对一个只设置了权限,但是没有设置文档打开口令(即用户口令为空)的pdf文档进行分析,按照算法3.5的方法(/R的值为4)计算。

问题相关代码,请勿粘贴截图

对32(全为填充)+16字节(ID的前一个字符串)=48字节进行MD5运算,得到hash值,然后用RC4算法以32字节填充为密钥加密hash值,然后再做19遍RC4加密,每轮的密钥为32字节填充的每个字节和i(1...19)的xor,上一次加密的结果即为本次加密的输入。

运行结果及报错内容

最后得到的16字节和文档中的/U前16字节并不相等。(按照算法3.5的描述,用户口令为空的情况下应该相等)

我的解答思路和尝试过的方法
我想要达到的结果

是不是我的算法实现有问题?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月14日
    • 创建了问题 12月6日