blob: 6fad4deb33fb125d235e3066a5d9f0dfeab404c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
.\" digest.txt.jp - -*- Indented-Text -*- created at: Fri May 25 08:22:19 JST 2001
$RoughId: digest.txt.jp,v 1.8 2001/07/13 15:38:27 knu Exp $
$Id$
** MD5(クラス)
RFC1321に記述されているRSA Data Security, Inc. の MD5 Message-Digest
Algorithmを実装するクラス。
Superclass: Digest::Base
require 'digest/md5'
** SHA1(クラス)
FIPS PUB 180-1に記述されているNIST (the US' National Institute of
Standards and Technology) の SHA-1 Secure Hash Algorithmを実装するクラス。
Superclass: Digest::Base
require 'digest/sha1'
** SHA256(クラス)
** SHA384(クラス)
** SHA512(クラス)
FIPS PUB 180-2に記述されているNIST (the US' National Institute of
Standards and Technology) の SHA-256/384/512 Secure Hash Algorithmを
実装するクラス。
Superclass: Digest::Base
require 'digest/sha2'
** RMD160(クラス)
Hans Dobbertin, Antoon Bosselaers, Bart Preneel によって設計された
RIPEMD-160 ハッシュ関数を実装するクラス。
Superclass: Digest::Base
require 'digest/rmd160'
これらのクラスは以下のような共通のインターフェースを提供する。
Class Methods:
new([str])
新しいダイジェストオブジェクトを生成する.文字列引数が与えられる
とそれを追加する(see update)。
digest(str)
与えられた文字列に対するハッシュ値を文字列で返す。
new(str).digest と等価。
hexdigest(str)
与えられた文字列に対するハッシュ値を、ASCIIコードを使って
16進数の列を示す文字列にエンコードして返す。
new(str).hexdigest と等価。
Methods:
clone
ダイジェストオブジェクトの複製を作る。
digest
今までに追加した文字列に対するハッシュ値を文字列で返す。MD5では
16バイト長、SHA1およびRMD160では20バイト長、SHA256では32バイト長、
SHA384では48バイト長、SHA512では64バイト長となる。
hexdigest
to_s
今までに追加した文字列に対するハッシュ値を、ASCIIコードを使って
16進数の列を示す文字列にエンコードして返す。MD5では32バイト長、
SHA1およびRMD160では40バイト長、SHA256では64バイト長、SHA384では
96バイト長、SHA512では128バイト長となる。Rubyで書くと以下と同じ。
def hexdigest
digest.unpack("H*")[0]
end
update(str)
<< str
文字列を追加する。複数回updateを呼ぶことは文字列を連結して
updateを呼ぶことと等しい。すなわち m.update(a); m.update(b) は
m.update(a + b) と、 m << a << b は m << a + b とそれぞれ等価
である。
== md
与えられたダイジェストオブジェクトと比較する。
== str
与えられた文字列を digest 値、もしくは hexdigest 値と比較する。
いずれの値と見るかは与えられた文字列の長さによって自動判別
される。
-------------------------------------------------------
Local variables:
fill-column: 70
end:
|