Ruby-ハッシュを作成する
SHAハッシュの作成
SHA(SHA-1, SHA-256, SHA-384, SHA-512)はハッシュアルゴリズムです。
パスワード認証やファイル検証などに使われます。
ライブラリ
SHAでハッシュを作成する場合、以下のライブラリ関数を利用します。
SHA-1: Digest::SHA1, require 'digest/sha1'
SHA-256: Digest::SHA256, require 'digest/sha2'
SHA-384: Digest::SHA384, require 'digest/sha2'
SHA-512: Digest::SHA512, require 'digest/sha2'
サンプル
#!/usr/bin/env ruby
#/usr/local/bin/ruby
base_path = File.expand_path(File.dirname(__FILE__))
Dir.chdir(base_path)
$LOAD_PATH << File.dirname(__FILE__)
$KCODE = 'UTF-8'
require 'digest/sha1'
require 'digest/sha2'
#!
# @brief SHAによるハッシュ値の生成
#
def sha_digest(s)
# return Digest::SHA1.digest(s)
# return Digest::SHA256.digest(s)
# return Digest::SHA384.digest(s)
return Digest::SHA512.digest(s)
end
#!
# @brief 16進数表記でSHAハッシュ値の生成
#
def sha_hexdigest(s)
# return Digest::SHA1.hexdigest(s)
# return Digest::SHA256.hexdigest(s)
# return Digest::SHA384.hexdigest(s)
return Digest::SHA512.hexdigest(s)
end
if __FILE__ == $0
str = "message"
p sha_digest(str)
p sha_hexdigest(str)
end
MD5ハッシュの作成
サンプル
#!/usr/bin/env ruby
#/usr/local/bin/ruby
base_path = File.expand_path(File.dirname(__FILE__))
Dir.chdir(base_path)
$LOAD_PATH << File.dirname(__FILE__)
$KCODE = 'UTF-8'
require 'digest/md5'
#!
# @brief MD5メッセージダイジェストの生成
# @param[in] s メッセージ
# @return MD5
#
def md5_digest(s)
return Digest::MD5.digest(s)
end
#!
# @brief 16進数でMD5メッセージダイジェストの生成
# @param[in] s メッセージ
# @return 16進数のMD5
#
def md5_hexdigest(s)
return Digest::MD5.hexdigest(s)
end
if __FILE__ == $0
str = "message"
p md5_digest(str)
p md5_hexdigest(str)
end
関連ページ
- Ruby
- Ruby-ファイルロック
- Ruby-OpenSSL暗号化
- Ruby-zlibファイル圧縮
- Ruby-ハッシュを作成する
- Ruby-ログのローテーション
- Ruby-YAML形式ファイルを操作する
- Ruby-WEBrickでwebサーバ
- Ruby-CGIでパラメータを受け取る
- Ruby-CGIセッション