首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用iaik pkcs7 EnvelopedData的blowfish加密

使用iaik pkcs7 EnvelopedData的blowfish加密
EN

Stack Overflow用户
提问于 2013-11-15 19:22:51
回答 1查看 349关注 0票数 0

我正在将我的模块从bouncy castle迁移到iaik pkcs7。我需要结合IAIK库的iaik.pkcs.pkcs7.EnvelopedDataStream使用blowfish、twofish和idea加密算法。Idea加密算法Id存在于IAIK的AlgorithmID类中,但不能直接实现(可能是因为密钥长度可变)。Blowfish是作为单独的密码类出现的,但我不知道如何将其与封装数据一起使用(这一点很重要,因为我将使用公钥加密方法)。我实际上可以使用河豚加密,然后使用封装数据和一些算法,如aes,并发送此信息,但在这种情况下,接收器将不会有算法信息。密钥可以与recepientInfo一起传递。

如果有人可以告诉我的方式,即使是基本的,我也许能够继续下去。

提前感谢

阿特拉亚

EN

回答 1

Stack Overflow用户

发布于 2013-11-19 14:52:04

嗨,我想出了解决方案

ByteArrayInputStream is =新的消息(ByteArrayInputStream);

代码语言:javascript
运行
复制
  AlgorithmID blowfish=new AlgorithmID("1.3.6.1.4.1.3029.1.2","BLOWFISH_CBC","Blowfish/CBC/PKCS5Padding");
  byte[] iv = new byte[8];
    random.nextBytes(iv);
  try{
        KeyGenerator keyGen = KeyGenerator.getInstance("Blowfish", "IAIK");
        secretKey = keyGen.generateKey();

        AlgorithmParameterSpec params = new IvParameterSpec(iv);

        keyGen.init(128);

        secretKey = keyGen.generateKey();
        iaik.pkcs.pkcs7.EncryptedContentInfoStream eci = new iaik.pkcs.pkcs7.EncryptedContentInfoStream(ObjectID.pkcs7_data, is);
        eci.setupCipher(blowfish, secretKey, params);
        return eci;
  }catch(Exception e){

  }

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19999947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档