summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/sample/openssl/cipher.rb
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 01:53:51 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 01:53:51 +0000
commit1e760c0be3ed35874204114e7454509f740c0fe2 (patch)
treea75eb2b1eea073830902d1fa49c568c4525c8b57 /ruby_1_8_6/sample/openssl/cipher.rb
parenta2055d63b41a6678dc7aeb17d0bece314e700c5a (diff)
add tag v1_8_6_71v1_8_5_71
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_5_71@13189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/sample/openssl/cipher.rb')
-rw-r--r--ruby_1_8_6/sample/openssl/cipher.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/ruby_1_8_6/sample/openssl/cipher.rb b/ruby_1_8_6/sample/openssl/cipher.rb
new file mode 100644
index 0000000000..6e8cdb9427
--- /dev/null
+++ b/ruby_1_8_6/sample/openssl/cipher.rb
@@ -0,0 +1,33 @@
+#!/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