根据python的例子
# base64 decode
sessionKey = base64.b64decode(self.sessionKey)
encryptedData = base64.b64decode(encryptedData)
iv = base64.b64decode(iv)
cipher = AES.new(sessionKey, AES.MODE_CBC, iv)
decrypted = json.loads(self._unpad(cipher.decrypt(encryptedData)))
我依猫画虎写了如下openresty里的lua代码
encryptedData=ngx.decode_base64(encryptedData)
sessionKey=ngx.decode_base64(sessionKey)
iv=ngx.decode_base64(iv)
local aes = require "resty.aes"
local str = require "resty.string"
local aes_default = aes:new(sessionKey,nil,aes.cipher(128,"cbc"),{iv = iv})
local decrypted = aes_default:decrypt(encryptedData)
ngx.say("decrypted=",decrypted)
执行结果提示
2017/07/14 12:54:40 [alert] 4454#0: *3 ignoring stale global SSL error (SSL: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt)
有尝试过微信用户数据解密的人指点指点不