Ruby RSA 公钥加密长度超出

zhangcaiyan · 2021年10月17日 · 最后由 EvanYa 回复于 2021年10月21日 · 511 次阅读

rsa 公钥加密,字符串长度超出时,总是报错【OpenSSL::PKey::RSAError Exception: data too large for key size】,有什么方式可以解决如下问题,程序要求指定 public_key

rsa = OpenSSL::PKey::RSA.new(Base64.strict_decode64(public_key))
rsa.public_encrypt(str)

那实际超出了没?

  1. 你的 Key Size 是多大?
  2. 加密是为了实现什么功能?
  3. 为什么不考虑对称加密?

取决于你选择的 key 和 padding 可以参考这个里面有解答:

https://crypto.stackexchange.com/questions/32692/what-is-the-typical-block-size-in-rsa
需要 登录 后方可回复, 如果你还没有账号请 注册新账号