- blogs:
- cles::blog
2009/11/14

rubyで文字列の暗号化・複合化をする

rubyのアプリにデバッグ用のメッセージの出力を埋め込みたかったのですが、デバッグメッセージをそのまま出力するといろいろ詮索されてしまうので、何かの形で読めなくして埋め込みたいと思って調べてみると、ウノウラボにちょうどよさげなサンプルがありました。
ウノウラボ Unoh Labs: rubyで手軽に暗号化文字列やハッシュ値を生成
require 'openssl'
def encrypt(aaa, solt = 'solt')
enc = OpenSSL::Cipher::Cipher.new('aes256')
enc.encrypt
enc.pkcs5_keyivgen(solt)
( (enc.update(aaa) + enc.final).unpack("H*") ).to_s
rescue
false
end
def decrypt(bbb, solt = 'solt')
dec = OpenSSL::Cipher::Cipher.new('aes256')
dec.decrypt
dec.pkcs5_keyivgen(solt)
(dec.update(Array.new([bbb]).pack("H*")) + dec.final)
rescue
false
end
今回扱うメッセージ自体は別に解読されてもそんなに困らないので、シーザー暗号で十分なんですが、rubyだと標準添付のopensslを使うだけで上記のAES256での暗号化も簡単にできるようです。これは意外と色んなところで使えるかも。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3286
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112043)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110672)
3 . 年次の人間ドックへ(110298)
4 . 2023 年分の確定申告完了!(1つめ)(109842)
5 . 三菱鉛筆がラミーを買収(109744)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110672)
3 . 年次の人間ドックへ(110298)
4 . 2023 年分の確定申告完了!(1つめ)(109842)
5 . 三菱鉛筆がラミーを買収(109744)
cles::blogについて
Referrers