別のキーワード
ライブラリ
- ビルトイン (61)
- openssl (72)
- securerandom (12)
クラス
- IO (12)
-
OpenSSL
:: PKey :: DSA (24) -
OpenSSL
:: PKey :: RSA (24)
モジュール
- Enumerable (48)
キーワード
- Cipher (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 2
. 6 . 0 (7) -
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) - SecureRandom (12)
- Symbol (1)
- advise (12)
- generate (48)
-
max
_ by (48) -
test
/ unit (1)
検索結果
-
OpenSSL
:: Random (18138.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
...OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵......要があります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* OpenSSL::PKey::DH.generate
* OpenSSL::Cipher#random_key
そのような乱数は適切な実装を持つ擬似乱数生成器に適切なシ......
* OpenSSL::BN.rand
* OpenSSL::BN.rand_range
* OpenSSL::BN.generate_prime
* OpenSSL::Cipher#random_iv
などでも利用されます。
擬似乱数生成器は適切なシードを与えられなければ正しく動作しません。
OpenSSL にはそのための API
* OpenSSL::Random.... -
SecureRandom (6042.0)
-
安全な乱数発生器のためのインターフェースを提供するモジュールです。 HTTP のセッションキーなどに適しています。
...ます。
* openssl
* /dev/urandom
上の安全な乱数発生器が使用できない場合、各メソッドは NotImplementedError を発生します。
# random hexadecimal string.
require 'securerandom'
p SecureRandom.hex(10) #=> "52750b30ffbc7de3b362"
p SecureRandom.hex(10) #=>......"
p SecureRandom.hex(11) #=> "6aca1b5c58e4863e6b81b8"
p SecureRandom.hex(12) #=> "94b2fff3e7fd9b9c391a2306"
p SecureRandom.hex(13) #=> "39b290146bea6ce975c37cfc23"
# random base64 string.
require 'securerandom'
p SecureRandom.base64(10) #=> "EcmTPZwWRAozdA=="
p SecureRandom.base64(10)......=="
p SecureRandom.base64(10) #=> "KO1nIU+p9DKxGg=="
p SecureRandom.base64(11) #=> "l7XEiFja+8EKEtY="
p SecureRandom.base64(12) #=> "7kJSM/MzBJI+75j8"
p SecureRandom.base64(13) #=> "vKLJ0tXBHqQOuIcSIg=="
# random binary string.
require 'securerandom'
p SecureRandom.random_bytes(10) #=... -
NEWS for Ruby 3
. 0 . 0 (1728.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...照してください。
== 言語仕様の変更
* Keyword arguments are now separated from positional arguments.
Code that resulted in deprecation warnings in Ruby 2.7 will now
result in ArgumentError or different behavior. 14183
* Procs accepting a single rest argument and keywords......gument and no keywords.
16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]
pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 => a=>1}, {}]
//}
* Arguments forwarding (`...`) now supports leading arguments.......14267
* Queue / SizedQueue
* Queue#pop, SizedQueue#push and related methods may now invoke the `block`/`unblock` scheduler hooks in a non-blocking context. 16786
* Ractor
* New class added to enable parallel execution. See rdoc-ref:ractor.md for more details.
* Random
* `Random::DE... -
NEWS for Ruby 2
. 6 . 0 (1698.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...言語仕様の変更
* $SAFE はプロセスグローバルで扱われることになると共に、0以外を設定した後に0に戻せるようになりました。 14250
* Refinements がブロック引数にも反映されるようになりました。 14223
* Refinements が Obje......るようになりました。 15326
* Refinements が Object#respond_to? にも反映されるようになりました。 15327
* rescue 節なしの else 節がシンタックスエラーを発生するようになりました。 [実験的] 14606
* 定数名の先頭の文字に ASCII......ました。 15143
* Proc
* 新規メソッド
* 関数合成用に Proc#<< と Proc#>> が追加されました。 6284
* 非互換な変更
* Proc#call が $SAFE を変更しなくなりました。 14250
* Random
* 新規メソッド
* Random.bytes が追加さ... -
NEWS for Ruby 2
. 5 . 0 (1410.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ださい。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展開内部の暗黙の to_s 呼び出しにも refi......込みクラスの更新
* Array
* Array#append を追加 12746
* Array#prepend を追加 12746
* Data
* 非推奨になりました。C拡張のベースクラスでしたが、Rubyレベルに公開するのをやめました。3072
* Exception
* Exception#full_message を......l
* https://blog.rubygems.org/2017/11/03/2.7.1-released.html
* https://blog.rubygems.org/2017/11/01/2.7.0-released.html
* https://blog.rubygems.org/2017/10/09/2.6.14-released.html
* https://blog.rubygems.org/2017/08/27/2.6.13-released.html
* securerandom
* SecureRandom... -
NEWS for Ruby 2
. 0 . 0 (1398.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCII から UTF-8 に変更しました
* '_' で始まる使......ラスの更新
* ARGF.class
* 追加: ARGF.class#codepoints, ARGF.class#each_codepoint
IO にある同名のメソッドに対応します
* Array
* 追加: Array#bsearch 二分探索します
* 非互換:
* Array#shuffle! と Array#sample の random パラメータに......能になりました
* Array#values_at に Range オブジェクトを与えた場合、配列の範囲外のインデックスについては nil を返します
* Enumerable
* 追加: Enumerable#lazy 遅延列挙のためのメソッドです
* Enumerator
* 追加: Enumerator#... -
NEWS for Ruby 3
. 1 . 0 (1302.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...参照してください。
== 言語仕様の変更
* ブロックが他のメソッドに渡されるだけの場合は、ブロックの引数を無名にできるようになりました。 11256
//emlist{
def foo(&)
bar(&)
end
//}
* ピン演算子に式を書けるようになりま......]
//}
* ピン演算子がインスタンス変数、クラス変数、グローバル変数をサポートしました。 17724
//emlist{
@n = 5
Prime.each_cons(2).lazy.find{_1 in [n, ^@n]}
#=> [3, 5]
//}
* 1行パターンマッチが実験的な機能ではなくなりました。
* 1.......2.0
* ostruct 0.5.2
* pathname 0.2.0
* pp 0.3.0
* prettyprint 0.1.1
* psych 4.0.3
* racc 1.6.0
* rdoc 6.4.0
* readline 0.0.3
* readline-ext 0.1.4
* reline 0.3.0
* resolv 0.2.1
* rinda 0.1.1
* ruby2_keywords 0.0.5
* securerandom 0.1.1
* set... -
OpenSSL
:: Cipher (72.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
...下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::Cipher::AES256.new
などで暗号オブジェクトを生成する
* OpenSSL::Cipher#encrypt, OpenSSL::Cipher#decrypt で
暗号、復号のいずれをするかを設定する
* OpenSSL::Cipher#key=, OpenSSL::Ciphe......r#iv=,
OpenSSL::Cipher#random_key, OpenSSL::Cipher#random_iv などで
鍵と IV(initialization vector) を設定する
* OpenSSL::Cipher#update, OpenSSL::Cipher#final で
暗号化/復号化をする
ruby 1.8.3 から Cast5 と Idea が CAST5 と IDEA に改名されました。
=......ドを指定する必要があります。このライブラリでは
以下のような文字列でモードを指定できます。
* "CBC"
* "CFB"
* "ECB"
* "OFB"
これらの文字列の意味は
lib:openssl#references などで調べてください。
AES を用いる場合、通常は... -
Symbol (60.0)
-
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
...が必要なわけではない時に用います。
* ハッシュのキー { :key => "value" }
* アクセサの引数で渡すインスタンス変数名 attr_reader :name
* メソッド引数で渡すメソッド名 __send__ :to_s
* C の enum 的な使用 (値そのものは無視し......てよい場合)
シンボルを使うメリットは
* 新しく文字列を生成しない分やや効率がよく、比較も高速。
* 文字の意味がはっきりするのでコードが読みやすくなる
* immutable なので内容を書き換えられる心配がない
大抵......た情報はプログラムが動いている間
はずっと保持しつづけられます。そのため、以下のようなコード
rng = Random.new
100000.times { rng.bytes(1000).intern }
はテーブルのサイズを増大させ、メモリを圧迫します。
例えば web アプリ... -
OpenSSL
:: PKey :: DSA . generate(size) -> OpenSSL :: PKey :: DSA (48.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
...DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数の......ックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割りきれてしまった場合は
u=1, n=-1 でブロックが呼びだされる
* 生成した素数候補がn回目......、u=1 でブロックが呼び出される
* 適当な1つめの素数が見付かった場合は、u=2, n=0 と
u=3, n=0 でブロックが呼び出される
* もう1つ素数を見付けるために、上の1,2,3をもう一度繰り返す
* 適当な2つめの素数が見付かった... -
OpenSSL
:: PKey :: DSA . generate(size) {|u , n| . . . } -> OpenSSL :: PKey :: DSA (48.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
...DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数の......ックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割りきれてしまった場合は
u=1, n=-1 でブロックが呼びだされる
* 生成した素数候補がn回目......、u=1 でブロックが呼び出される
* 適当な1つめの素数が見付かった場合は、u=2, n=0 と
u=3, n=0 でブロックが呼び出される
* もう1つ素数を見付けるために、上の1,2,3をもう一度繰り返す
* 適当な2つめの素数が見付かった... -
IO
# advise(advice , offset=0 , len=0) -> nil (42.0) -
posix_fadvise(2) を呼びだし、 ファイルへのアクセスパターンをOSに知らせます。
...す。
* :normal - デフォルト
* :sequential - データは前から順にアクセスされる
* :random - データはランダムアクセスされる
* :willneed - データはこの直後にアクセスされる
* :dontneed - データは直後にはアクセスしない
* :nore...