Digest 模块
此模块为消息摘要库提供了一个框架。
您可能希望查看 OpenSSL::Digest
,因为它支持更多算法。
加密哈希函数是一个过程,它获取数据并返回一个固定位字符串:哈希值,也称为摘要。 Hash
函数也称为单向函数,从消息计算摘要很容易,但从摘要生成消息是不可能的。
示例¶ ↑
require 'digest' # Compute a complete digest Digest::SHA256.digest 'message' #=> "\xABS\n\x13\xE4Y..." sha256 = Digest::SHA256.new sha256.digest 'message' #=> "\xABS\n\x13\xE4Y..." # Other encoding formats Digest::SHA256.hexdigest 'message' #=> "ab530a13e459..." Digest::SHA256.base64digest 'message' #=> "q1MKE+RZFJgr..." # Compute digest by chunks md5 = Digest::MD5.new md5.update 'message1' md5 << 'message2' # << is an alias for update md5.hexdigest #=> "94af09c09bb9..." # Compute digest for a file sha256 = Digest::SHA256.file 'testfile' sha256.hexdigest
此外,摘要可以“bubble babble”格式编码为辅音和元音序列,这比十六进制摘要更易于识别和比较。
require 'digest/bubblebabble' Digest::SHA256.bubblebabble 'message' #=> "xopoh-fedac-fenyh-..."
请参阅 web.mit.edu/kenta/www/one/bubblebabble/spec/jrtrjwzi/draft-huima-01.txt 中的 bubble babble 规范。
Digest
算法¶ ↑
提供了不同的摘要算法(或哈希函数)
MD5
-
请参阅 RFC 1321
MD5
消息摘要算法 - RIPEMD-160
-
作为
Digest::RMD160
。请参阅 homes.esat.kuleuven.be/~bosselae/ripemd160.html。 SHA1
-
请参阅 FIPS 180 安全
Hash
标准。 SHA2
系列-
请参阅定义以下算法的 FIPS 180 安全
Hash
标准-
SHA512
-
SHA384
-
SHA256
-
FIPS 出版物的最新版本可以在此处找到: csrc.nist.gov/publications/PubsFIPS.html。
常量
- REQUIRE_MUTEX
Digest() 的互斥锁。
- VERSION
公共类方法
bubblebabble(string) → bubblebabble_string 单击以切换源
返回给定字符串的 BubbleBabble 编码版本。
static VALUE rb_digest_s_bubblebabble(VALUE klass, VALUE str) { return bubblebabble_str_new(str); }
hexencode(string) → hexencoded_string 点击切换源
生成给定字符串的十六进制编码版本。
static VALUE rb_digest_s_hexencode(VALUE klass, VALUE str) { return hexencode_str_new(str); }