spacewander / lua-resty-rsa

RSA encrypt/decrypt & sign/verify for OpenResty/LuaJIT
MIT License
266 stars 101 forks source link

如何让这个库接受二进制加密内容 #34

Closed djhwyh closed 4 years ago

djhwyh commented 4 years ago

我看示例显示解密时候接受的是 字符串,但是现在我的需求是,也就是让下面的参数encrypted 直接使用加密后的二进制内容,或者能接受base64的内容参数也可以啊,因为原始被加密的数据是二进制的,不是明文可读的: local priv, err = resty_rsa:new({ private_key = rsa_priv_key , key_type = resty_rsa.KEY_TYPE.PKCS8 }) if not priv then ngx.say("new rsa err: ", err) return end local my_bytes = priv:decrypt(encrypted)

djhwyh commented 4 years ago

原始被加密数据就是二进制的随机串,就不是可读的东西,无法通过各种解码方式转换为字符串。其实就是一个随机aes key,用于AES 加密解密的。

spacewander commented 4 years ago

"二进制"字符串难道就不是一种字符串吗?Lua string 是可以包含 \0 的。字符串是一种类型,跟可不可读没什么关系。当然如果经过了 base64 处理之后,内容就不一样了。

spacewander commented 4 years ago

Consider fixed.