[#49148] Ruby 1.9で、バイト長の部分文字列を作りたくて悩んでます — Daisuke Yokotsuka <yokots_d@...3-net.ne.jp>

はじめまして。横塚と申します。

16 messages 2013/01/29

[ruby-list:49106] Re: リファレンスマニュアルのOpenSSLの項目に間違いがあります

From: Narihiro Nakamura <authornari@...>
Date: 2013-01-03 07:30:49 UTC
List: ruby-list #49106
nariです。

2012年12月28日 11:47 Shunichi Arai <arai@mellowtone.co.jp>:
> 新井@もぐらです。
>
> http://www.ruby-lang.org/ja/old-man/html/OpenSSL_Cipher_Cipher.html
>
> c1 = Cipher.new("AES256")
> c2 = Cipher.new("AES-256-CBC")
> pass = "open sesame!"
> data = "Hello world!"
> c1.pkcs5_keyivgen(pass)
> s1 = c1.encrypt.update(data) + c1.final
> c2.pkcs5_keyivgen(pass)
> s2 = c2.decrypt.update(s1) + c2.final
> p(data == s2) #=> true
>
> は、手元のruby 1.9.3p327 (2012-11-10) [i386-mingw32]では、
> 正常に動作しません。
>
> 以下のように書き換えるとうまく動作します。
> (keyivgenの前にencrypt/decryptを指定する)
>
> c1 = Cipher.new("AES256")
> c2 = Cipher.new("AES-256-CBC")
> pass = "open sesame!"
> data = "Hello world!"
> c1.encrypt
> c1.pkcs5_keyivgen(pass)
> s1 = c1.update(data) + c1.final
> c2.decrypt
> c2.pkcs5_keyivgen(pass)
> s2 = c2.update(s1) + c2.final
> p(data == s2) #=> true
>
> ここは知らないと結構はまると思いますので、
> リファレンスマニュアルの編集権限があるかたは
> 直していただけるとうれしいかなと思います。
>

ご存知かもですが、すでに
http://www.ruby-lang.org/ja/old-man/html/index.html
の方は古いマニュアルとなっておりまして、現在はるりまと呼ばれる新しいリファレンスマニュアルが最新のものとなっております。
http://doc.ruby-lang.org/ja/

そちらを閲覧いただくのが間違いが少ないのかなと思います。
http://doc.ruby-lang.org/ja/1.9.3/class/OpenSSL=3a=3aCipher.html

# 古い方のマニュアルは、すべてのページの上の方に警告と新しいリファレンスマニュアルへのリンクがあると嬉しいかもですねえ。

-- 
Narihiro Nakamura (nari)

In This Thread

Prev Next