#復号化機能追加のきっかけ
以前に Pokebell gem を作って、文字列から数字列への変換(暗号化)を行うことが出来るようにしました。
Ruby - 読みをポケベル入力数字に変換するPokebell gem - Qiita
そして予定として数字列から文字列への変換(復号化)をいずれ行おうと思いつつ、なかなか機能追加を行えずにいました。
先日、このツイートを読みました。
キムタクさんは当時からメンバー1人気あって、もらう手紙も多いのにメンバー1返事を書く人で、1日に2通渡したら2通とも返信くれたり、入りで渡した手紙の返事を楽屋で書いて外にいる私にわざわざ手渡ししに来た時には本当にビックリした。返事は全部で約50枚ある。宝物です。
— 紗希 (@saki78127) July 26, 2014
今リツイートさせていただいたツイートで確信しました。 今から19年前、初めてSMAPのコンサートに行ったときの事。仙台サンプラザで、確か2日連続での公演で。私は2日目にいく予定で。仙台の1日目に行く友達に、拓哉宛の手紙を託して。 その日の夜、ポケベルに読めないメッセージが来て。続
— まゆげ (@mayuge524) July 27, 2014
その手紙の中に、私のポケベルの番号を書いてて…だからまさかなとは思ったけれど。。当時手紙を託した友達にはポケベルの番号を書いたことは伝えてなく、考えうる友人・家族に「イタズラで送ったんじゃないか」と確認をしたけれど、皆「送ってないよ」って。今まで19年間、信じきれなかったけど…続
— まゆげ (@mayuge524) July 27, 2014
そのメッセージが、これ。 一文字ずれると、カタカナじゃなくて数字で来ちゃうんだけど… -11493550241553272523244938588412381 会えるのを楽しみにしてるよ 拓哉 ぴったり20文字、初めてSMAPのコンサ pic.twitter.com/wi2tuxF61g
— まゆげ (@mayuge524) July 27, 2014
続き/初めてSMAPのコンサートに行く、14歳の私へくれた、拓哉からのメッセージ。涙 ずっと半信半疑だったけど、先ほど見かけたツイートを読んで、確信できました。すぐ母(拓哉ファン)にも報告、二人で泣きました。ずっとSMAPの応援をしてこれてよかった。これからもずっと応援します。終
— まゆげ (@mayuge524) July 27, 2014
このツイートを読んだときに、これを復号化したいな、と強く思ったので、復号化機能を追加しました。
#バージョン
$ gem search pokebell --remote
*** REMOTE GEMS ***
pokebell (0.1.0)
#インストール
$ gem install pokebell
#復号化メソッド
数字からPokebellインスタンスを作るには、クラスメソッドの Pokebell.number
を使います。
その後に復号された文字列を見るには Pokebell#str
を使います。
Pokebell.number("22734123").str
#=> "キムタク"
#キムタクからのメッセージ
ツイートでは -11493550241553272523244938588412381
と書き起こしてありますが、添付写真をみると冒頭の1が足りないことが分かります。
また -
はメッセージ冒頭であることを意味するだけだと思われます。
ということで Pokebell.number
の引数に "111493550241553272523244938588412381"
を渡して実行してみましょう。
ワンライナーで実行します。
$ ruby -rpokebell -e 'puts Pokebell.number("111493550241553272523244938588412381").str'
アエルノヲタノシミニシテルヨ タクヤ
拓也、やさしいよね。
Pokebell gem の詳しい使い方は