superclass=Object
type=class
library=openssl
extended=
included=

̸ŹΤݲ줿󥿡ե󶡤륯饹Ǥ

ŪˤΥ饹ľܻȤäƥǡŹ沽뤳Ȥ
򤱤Ƥ̾Ϥʥ󥿡եѲǽ
ϤǤɬפʤΤϰŹ楢르ꥺꤹ뤿 
[[m:OpenSSL::Cipher.new]] ǰŹ楪֥Ȥ뤳ȤǤ礦

⤷Υ饹ľѤưŹ沽ϡŹθ
IV(Initialization Vector)μ갷ˤĤ򤷤Ƥ
Ƥ

ʲμѤޤ
  * [[m:OpenSSL::Cipher.new]]  [[m:OpenSSL::Cipher::AES256.new]] 
    ʤɤǰŹ楪֥Ȥ
  * [[m:OpenSSL::Cipher#encrypt]], [[m:OpenSSL::Cipher#decrypt]] 
    Ź桢Τ򤹤뤫ꤹ
  * [[m:OpenSSL::Cipher#key=]], [[m:OpenSSL::Cipher#iv=]], 
    [[m:OpenSSL::Cipher#random_key]], [[m:OpenSSL::Cipher#random_iv]] ʤɤ
     IV(initialization vector) ꤹ
  * [[m:OpenSSL::Cipher#update]], [[m:OpenSSL::Cipher#final]] 
    Ź沽/沽򤹤


ruby 1.8.3  Cast5  Idea  CAST5  IDEA ˲̾ޤ

=== 
  require 'openssl'
  
  p a123 = "0123456789"
  pass = "hogehoge"
  enc = OpenSSL::Cipher::DES.new
  enc.encrypt
  enc.pkcs5_keyivgen(pass)
  p a = enc.update(a123)
  p b = enc.final
  s = a + b
  
  dec = OpenSSL::Cipher::DES.new
  dec.decrypt
  dec.pkcs5_keyivgen(pass)
  p a = dec.update(s)
  p b = dec.final
  p a + b #=> "0123456789"
