Skip to content

Instantly share code, notes, and snippets.

@DBA
Created December 17, 2010 23:02
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save DBA/745868 to your computer and use it in GitHub Desktop.
RSA with no padding
# encoding: UTF-8
require 'ruby-debug'
require 'openssl'
def crypt(value, padding = OpenSSL::PKey::RSA::NO_PADDING)
public_key = get_rsa_key 'public.pem'
public_key.public_encrypt value, padding
end
def get_rsa_key(key, password = '')
return key if key.is_a?(OpenSSL::PKey::RSA)
key = File.read(key) if key !~ /^-+BEGIN .* KEY-+$/
return OpenSSL::PKey::RSA.new(key, password)
end
crypt 'xpto' #=> OpenSSL::PKey::RSAError Exception: data too small for key size
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment