Ruby til :バブルBabble符号化アルゴリズム


今日はRubyの標準ライブラリから面白い発見を共有したいです.このメソッドはbubblebabble そして、Digest module .
この方法の主なポイントは、人間の言葉に似たように見える、ダイジェストを作成することです.
メソッドを直接使用することもできますDigest モジュール(指定された文字列に直接符号化アルゴリズムを実行します)、あるいは特定のダイジェストクラスでDigest::SHA1 (入力文字列のSHA 1ダイジェストでアルゴリズムを実行します).
irb(main):001:0> require 'digest/bubblebabble'
=> true
irb(main):002:0> Digest.bubblebabble('a')
=> "ximex"
irb(main):003:0> Digest::SHA1.bubblebabble('a')
=> "xociz-lynaf-livip-huniz-samah-tolat-sivov-pipiv-petel-kynyr-mexix"

歴史
バブルBabble符号化は、Atti Huimaによって2000年に発明されました.あなたのアルゴリズムの説明を元のドキュメントを見つけることができますhttp://web.mit.edu/kenta/www/one/bubblebabble/spec/jrtrjwzi/draft-huima-01.txt .
著者によると、名前はビデオゲームクラシックBubble Bobble そして、生成された文字列を発音することができますが、音のような音.

これはどこに本物の使用ですか?
はい、この面白いエンコーディングメソッドは、SSH 2スイートで簡単にキーの指紋を覚えて表示するために使用されます.キーは、テキスト形式に変換され、SHA 1を使用して消化、バブルのバブルを介してキーの指紋を作成するために実行されます.
あなたは実行して自分でそれをテストすることができますssh-keygen with -B オプションhttp://man.openbsd.org/ssh-keygen.1#B ).