rubyで手軽に暗号化文字列やハッシュ値を生成
Tweet
こんにちは django派閥とrails派閥の争いが激しい最近のウノウです。ちなみに若干railsが優勢です。
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
def hash(ccc)
OpenSSL::Digest::SHA1.new(ccc)
end
secret = "himitsu"
solt = "unoh"
enc = encrypt(secret, solt)
p enc
dec = decrypt(enc, solt)
p dec
p hash(secret)
#--
#"2906e1eca22b8b74ab2a14cbf185185c"
#"himitsu"
#c44ade485240212403b41eba503fcb222d190cd0
便利ですね。
http://www.ruby-lang.org/ja/man/?cmd=view;name=openssl
http://www.ruby-lang.org/ja/man/?cmd=view;name=OpenSSL%3A%3ACipher%3A%3ACipher

コメント
soltの綴りが間違ってるのはわざとです!
投稿者: sato@unoh | 2007年5月24日 21:24
s/solt/salt/g;
# Dan the Yet Another Typo Generator
投稿者: 弾 | 2007年5月24日 23:31
現在phpを使用しており、別の言語を勉強しようと考えております。
RubyとPhtyonではどちらのほうが良いかについて意見が分かれるところだと思うのですが、どちらが良いかに関してそれぞれ使われている方の意見をお伺いしたい旨お願い申し上げます。
投稿者: godaigo | 2007年5月26日 18:37
コメントありがとうございます。
どちらが良いかは一概には言えないと思うので、両方使ってみて自分に合ってると思うものを使うのが一番だと思います。
投稿者: sato@unoh | 2007年5月26日 20:24