openssl genrsa -des3 -out private.pem 2048Generating RSA private key, 2048 bit long modulus ......................................................................+++ ..............+++
e is 65537 (0x10001)
Enter pass phrase for private.pem:
Verifying - Enter pass phrase for private.pem:
2. Extract public key
openssl rsa -in private.pem -out public.pem -outform PEM -puboutEnter pass phrase for private.pem:
writing RSA key
3. To encrypt data
require 'openssl'ZXRd/2jJpYEJkQroWcs1QVJIII+yeQWtBPeSilSWqel5l8WcdGg2vwFh4rcf dKXjk54WPn/2jfBkk6TBssHcYr6wbHlzJG9MjqZHAqhWgaVRA9R9fDYkFS6F o0Nqtpp46B4luilKhC6npWS4zlR9vyIJwyp3mLDnbPaB5sUIGluOoRtE1Z7k 3jYAF6Xz9fYCJqVPGHoO7xDALNMEmJqxCHjFttxjAZoiEL84AdT3ZI3FJUmv nxgyuGu9daYpfK+8kVXlW/qqVPKdQmWSOEVlTXzSq9j4pgWvuTk6Jg21b7Hf NHJ515iSBdt5NGPgNCPeB4mNhq3hOkmMwX7HRppf1Q==
require 'base64'
plaintext = 'Sentul was here.';
publickey = OpenSSL::PKey::RSA.new(File.read('public.pem'))
cyphertext = Base64.encode64(publickey.public_encrypt(plaintext))
print cyphertext, "\n"
4. To decrypt data. The pass phrase is 'sentul asia' as an example. Your cyphertext will definitely differ from the one below.
require 'openssl'Sentul was here.
require 'base64'
passphrase = 'sentul asia'
cyphertext = %Q{ ZXRd/2jJpYEJkQroWcs1QVJIII+yeQWtBPeSilSWqel5l8WcdGg2vwFh4rcf dKXjk54WPn/2jfBkk6TBssHcYr6wbHlzJG9MjqZHAqhWgaVRA9R9fDYkFS6F o0Nqtpp46B4luilKhC6npWS4zlR9vyIJwyp3mLDnbPaB5sUIGluOoRtE1Z7k 3jYAF6Xz9fYCJqVPGHoO7xDALNMEmJqxCHjFttxjAZoiEL84AdT3ZI3FJUmv nxgyuGu9daYpfK+8kVXlW/qqVPKdQmWSOEVlTXzSq9j4pgWvuTk6Jg21b7Hf NHJ515iSBdt5NGPgNCPeB4mNhq3hOkmMwX7HRppf1Q== }
privatekey = OpenSSL::PKey::RSA.new(File.read('private.pem'),passphrase)
plaintext = privatekey.private_decrypt(Base64.decode64(cyphertext))
print plaintext"


No comments:
Post a Comment