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




関連ページ