source: EcnlProtoTool/trunk/mrbgems/mruby-digest/mrblib/digest.rb@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby
File size: 928 bytes
Line 
1if Object.const_defined? :Digest
2module Digest
3 class Base
4 def self.digest(data)
5 self.new.update(data).digest
6 end
7 def self.file(path)
8 self.new.update(File.open(path).read)
9 end
10 def self.hexdigest(data)
11 self.new.update(data).hexdigest
12 end
13 def ==(other)
14 if other.kind_of? String
15 self.hexdigest == other
16 else
17 self.digest == other.digest
18 end
19 end
20 def file(path)
21 self.update(File.open(path).read)
22 end
23 def hexdigest!
24 x = self.hexdigest
25 self.reset
26 x
27 end
28
29 alias length digest_length
30 alias size digest_length
31 alias to_s hexdigest
32 alias << update
33 end
34
35 class HMAC
36 def self.digest(data, key, digest)
37 self.new(key, digest).update(data).digest
38 end
39 def self.hexdigest(data, key, digest)
40 self.new(key, digest).update(data).hexdigest
41 end
42
43 alias << update
44 end
45end
46end
Note: See TracBrowser for help on using the repository browser.