收藏
回答

AES-128-CFB加密算法问题

问题模块 问题类型 插件 AppID 插件版本号 AppID 微信版本 基础库版本
插件 需求 wxf25d506ff81e19fb 0.0.003 wx11e94e610aba7aad 6.7.4 2.4.0

我现在用的是Crypto插件的AES/CFB/NoPadding,项目要求是要把6个单字节的16进制字节集作为明文,然后16个单字节的16进制字节集作为key,16个单字节的16进制字符集作为iv


但是,,,,,,测试了好久发现都是加密结果对不上,解密结果却是正确的!!

附上代码:


var text = crypto.Utf8.parse(String.fromCharCode(0x11, 0x22, 0x33, 0x44, 0x55, 0x66));
console.log('----------------------------------------------------------明文:', text);
 
var keys = hexMD5(String.fromCharCode(0xBC, 0x9A, 0x78, 0x56, 0x34, 0x12));
var XMD5Keys = crypto.Utf8.parse(String.fromCharCode(this.DEE(keys)));
console.log('----------------------------------------------------------密钥:', XMD5Keys);
 
var iv = hexMD5(String.fromCharCode(0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef,0xef,0xcd,0xab,0x89,0x67,0x45,0x23,0x01));
var EMD5iv = crypto.Utf8.parse(String.fromCharCode(this.DEE(iv)));
console.log('----------------------------------------------------------向量:', EMD5iv);
 
 
 
var mi = new crypto.AES().encrypt(text, XMD5Keys, {iv: EMD5iv,mode: crypto.Mode.CFB,padding: crypto.Padding.NoPadding});
console.log('----------------------------------------------------------加密:'this.DEE(mi.ciphertext.toString()));
 
var v  = new crypto.AES().decrypt(mi.toString(), XMD5Keys, {iv: EMD5iv,mode: crypto.Mode.CFB, padding: crypto.Padding.NoPadding});
console.log('----------------------------------------------------------解密:'this.DEE(v.toString()));



有酬谢!


最后一次编辑于  2018-11-27  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • One
    One
    2018-12-19

    最近插件页面的相关讨论都打不开,所以没看见。

    this.DEE是干嘛的?



    2018-12-19
    赞同
    回复 3
    • One
      One
      2018-12-19
      代码粘贴不了、、、



      2018-12-19
      回复
    • 诗无
      诗无
      2018-12-19回复One

      感谢您的回复,问题已经解决了,是大小端的问题

      2018-12-19
      回复
    • One
      One
      2018-12-19回复诗无

      没事的,共建生态

      2018-12-19
      回复