找回密码
 立即注册

QQ登录

只需一步,快速开始

[工具插件] Ruby版微信小程序对称加密数据解密算法

[复制链接]
查看: 915|回复: 0
最佳答案
0 

5

主题

5

帖子

91

积分

新人求带

积分
91
 楼主| 发表于 2017-2-8 15:43:26 | 显示全部楼层 |阅读模式
本帖最后由 keynote 于 2017-2-8 15:44 编辑

微信小程序对称加密数据解密算法,Ruby版实现

demo.rb
  1. require './wx_biz_data_crypt'

  2. app_id = 'wx4f4bc4dec97d474b'
  3. iv = 'r7BXXKkLb8qrSNn05n0qiA=='
  4. session_key = 'tiihtNczf5v6AKRyjwEUhQ=='
  5. encrypted_data =
  6.   'CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM'+
  7.   'QmRzooG2xrDcvSnxIMXFufNstNGTyaGS'+
  8.   '9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+'+
  9.   '3hVbJSRgv+4lGOETKUQz6OYStslQ142d'+
  10.   'NCuabNPGBzlooOmB231qMM85d2/fV6Ch'+
  11.   'evvXvQP8Hkue1poOFtnEtpyxVLW1zAo6'+
  12.   '/1Xx1COxFvrc2d7UL/lmHInNlxuacJXw'+
  13.   'u0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn'+
  14.   '/Hz7saL8xz+W//FRAUid1OksQaQx4CMs'+
  15.   '8LOddcQhULW4ucetDf96JcR3g0gfRK4P'+
  16.   'C7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB'+
  17.   '6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns'+
  18.   '/8wR2SiRS7MNACwTyrGvt9ts8p12PKFd'+
  19.   'lqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYV'+
  20.   'oKlaRv85IfVunYzO0IKXsyl7JCUjCpoG'+
  21.   '20f0a04COwfneQAGGwd5oa+T8yO5hzuy'+
  22.   'Db/XcxxmK01EpqOyuxINew=='

  23. pc = WXBizDataCrypt.new(app_id, session_key)
  24. puts pc.decrypt(encrypted_data, iv)
复制代码

wx_biz_data_crypt.rb
  1. require "openssl"
  2. require "base64"
  3. require "json"


  4. class WXBizDataCrypt
  5.   attr_accessor :app_id, :session_key

  6.   def initialize(app_id, session_key)
  7.     @app_id = app_id
  8.     @session_key = session_key
  9.   end
  10.   
  11.   def decrypt(encrypted_data, iv)
  12.     session_key = Base64.decode64(@session_key)
  13.     encrypted_data= Base64.decode64(encrypted_data)
  14.     iv = Base64.decode64(iv)

  15.     cipher = OpenSSL::Cipher::AES128.new(:CBC)
  16.     cipher.decrypt
  17.     cipher.key = session_key
  18.     cipher.iv = iv

  19.     decrypted = JSON.parse(cipher.update(encrypted_data) + cipher.final)
  20.     raise('Invalid Buffer') if decrypted['watermark']['appid'] != @app_id

  21.     decrypted
  22.   end
  23. end
复制代码


wechat_aes_sample_ruby-master.zip (2.5 KB, 下载次数: 6)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


易域网-您身边的域名管家

henkuai.com是专业的第三方微信开发者平台,为生态而生。


本站为第三方微信开发者平台,非腾讯官方网站。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

欢迎来这里一起喝喝茶,
聊聊你的产品。

微信公众号gongzhongkaifa

工作日12小时内回复。

网站业务
zhongcong@henkuai.com

工作日12小时内回复。

市场合作
songchang@henkuai.com