BLOGTIMES
2009/11/14

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

  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 を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン