blowfish算法,其描述中说 
密钥扩展把长度可达到448位的密钥转变成总共4168字节的几个子密钥现在需要解密一个文件,密钥长度是4168字节,使用java中的Cipher来做应该如何操作?
如果把4168字节的密钥装入报密钥长度大于448bits的错误。
是否应该对4168字节的密钥进行预处理?如何做?

解决方案 »

  1.   

    这是 Blowfish 算法内部需要做的事情,并不是当作参数传入进去的,是根本密钥计算出来的。如果只知道这些子密钥的话,那只能根据 blowfish 的算法描述自己去实现了解密方法了。Blowfish 在作者网站上的算法描述:
    http://www.schneier.com/paper-blowfish-fse.html
      

  2.   

    楼上的意思是说用现成的API是无法实现咯?
      

  3.   

    嗯,是的,现成的 API 无法实现