Current Path : /usr/local/share/examples/ruby18/openssl/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/share/examples/ruby18/openssl/cipher.rb |
#!/usr/bin/env ruby require 'openssl' text = "abcdefghijklmnopqrstuvwxyz" pass = "secret password" salt = "8 octets" # or nil alg = "DES-EDE3-CBC" #alg = "AES-128-CBC" puts "--Setup--" puts %(clear text: "#{text}") puts %(password: "#{pass}") puts %(salt: "#{salt}") puts %(cipher alg: "#{alg}") puts puts "--Encrypting--" des = OpenSSL::Cipher::Cipher.new(alg) des.pkcs5_keyivgen(pass, salt) des.encrypt cipher = des.update(text) cipher << des.final puts %(encrypted text: #{cipher.inspect}) puts puts "--Decrypting--" des = OpenSSL::Cipher::Cipher.new(alg) des.pkcs5_keyivgen(pass, salt) des.decrypt out = des.update(cipher) out << des.final puts %(decrypted text: "#{out}") puts