スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
RubyでAES暗号化してURLの一部として使いたい
RubyでAESで暗号化してURLの一部として返したいと思いました。
初期ベクトルを結合してやりとりするサンプルがなかなか見つからなかったので、色々なサンプルを参考にして書いてみました。
初期ベクトルを結合してやりとりするサンプルがなかなか見つからなかったので、色々なサンプルを参考にして書いてみました。
require 'openssl'
require 'base64'
require 'cgi'
def encrypt(key, data)
cipher = OpenSSL::Cipher.new('AES-256-CBC')
cipher.encrypt
cipher.key = Digest::SHA256.digest(key)
iv = cipher.random_iv
encrypted = cipher.update(data) + cipher.final
CGI.escape(Base64.encode64(iv + encrypted).gsub(/\s/, ''))
end
def decrypt(key, data)
encrypted = Base64.decode64(CGI.unescape(data))
cipher = OpenSSL::Cipher.new('AES-256-CBC')
cipher.decrypt
cipher.key = Digest::SHA256.digest(key)
cipher.iv = encrypted.slice!(0,16)
cipher.update(encrypted) + cipher.final
end
key = "password"
data = "Hello World!"
e = encrypt(key, data)
puts e
puts decrypt(key, e)
スポンサーサイト
<<RubyでFacebookの動画投稿 | HOME | PL/pgSQLで動的SQLを書く必要がなくなった>>
COMMENTS
COMMENT FORM
TRACKBACK
| HOME |