![]() |
1
6
首先,要明确的是,从下面的注释来看,您不应该对每个块都调用doFinal(),因为doFinal()希望在末尾有任何填充,而在中间块中显然没有。要么(a)对中间数据调用update(),然后在末尾调用doFinal(),要么(b)将所有数据放在一个缓冲区或字节数组中,然后对整个作业批调用doFinal()。 从你发布的代码中不清楚你实际上在做什么,但应该提到以防万一。 如果做不到这一点,那么作为调试的第一步,我建议您选择这两种方法中比较简单的一种:
我记得,C#有无符号字节(而Java有符号),所以在有些地方,字节有符号会出现一些微妙的错误。 |
![]() |
2
3
我以前遇到过这个问题。 当我写了一些代码来进行加密和解密时,就像这样:
我忘了第一个
|
![]() |
4
1
doFinal()是对上述代码的撤消,我最终只使用了密码流,而不是update/doFinal方法。这样,我可以使用FileInputStream和我的密码作为cipheriputstream的参数,然后通过OutputStream将输出传递给web浏览器。将update和doFinal分解为它们自己的方法调用使任务变得更加困难,并且这两个方法都从decrypter类中删除(留下一个while循环,读取数据块并将其输出到浏览器)。在这种情况下也不需要Bouncy Castle提供程序,PKCS5Padding就足够了,这是SunJCE提供的。 |
|
user29759326 · 如何返回递归函数中的最后一个值? 6 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 7 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 7 月前 |