开发者社区> 问答> 正文

AES解密失败

先问问题,再看描述:
问题1:注册套件时,验证回调时,缺省的AES Key是 [font='Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif]4g5j64qlyl3zvetqxz5jiocdr586fn2zvjpa8zls3ij,并且用Base64进行解码吗?
[font='Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif]问题2: 算法是AES-128-CBC吗?
[font='Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif]问题3:如果CBC,IV是KEY的前16个字节吗?
请提供支持和帮助,不胜感激!


我用的是Ruby,没有用官方的PHP或者Java,C#,通过阅读PHP代码,我们的Ruby代码调用AES Decrypt总是报错:

     OpenSSL::Cipher::CipherError:


代码如下:
def decrypt_data( message)
   key = $aes_key
   # puts key
   iv = key[ 0.. 15]
   begin
     decodedCipherText = Base64.decode64( message) #.gsub(/\n/, '' )
    # puts decodedCipherText
     des = OpenSSL:: Cipher:: Cipher.new( $aes_algorithm)
     des.decrypt
     des.key = key
    des.iv = iv
    result = des.update( decodedCipherText)
     result << des.final
   #rescue Exception => exc
   # puts "wrong " + exc.to_s + "  ddd"
   end

   len = result[ 16.. 19].unpack( "N")[ 0]
   d = result[ 20..( 19+ len)]
  { "Random" => result[ 0.. 15], "EventType" => d, "TestSuiteKey" => result[( 20+ len)..( result.size- 1)]}
   #return d
end

展开
收起
roadcloud 2015-12-01 09:11:26 7936 0
1 条回答
写回答
取消 提交回答
  • ReAES解密失败
    自己顶一下

    问题1:注册套件时,验证回调时,缺省的AES Key是4g5j64qlyl3zvetqxz5jiocdr586fn2zvjpa8zls3ij,并且用Base64进行解码吗?
    问题2: 算法是AES-128-CBC吗?
    问题3:如果CBC,IV是KEY的前16个字节吗?
    请提供支持和帮助,不胜感激!

    -------------------------

    ReAES解密失败
    没人可以解答一下吗?
    2015-12-01 10:05:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多