Ruby 4.1 リファレンスマニュアル

instance method OpenSSL::PKey::PKey#encrypt

encrypt(data) -> StringRuby 3.1 から[permalink][rdoc][edit]
encrypt(data, options) -> String

self の公開鍵の部分を使って data を暗号化します。

復号には OpenSSL::PKey::PKey#decrypt を使います。

[PARAM] data:
暗号化する文字列
[PARAM] options:
OpenSSL に渡すアルゴリズム固有の制御用オプションを指定するハッシュです(省略可)。指定できる内容は OpenSSL のマニュアル EVP_PKEY_CTX_ctrl_str(3) を参照してください
[RETURN]
暗号化されたデータの文字列
[EXCEPTION] OpenSSL::PKey::PKeyError:
暗号化に失敗した場合に発生します

[SEE_ALSO] OpenSSL::PKey::PKey#decrypt

require "openssl"
pkey = OpenSSL::PKey.generate_key("RSA", "rsa_keygen_bits" => 2048)
data = "secret data"
encrypted = pkey.encrypt(data, rsa_padding_mode: "oaep")
decrypted = pkey.decrypt(encrypted, rsa_padding_mode: "oaep")
p decrypted # => "secret data"