diff options
author | Ralph Amissah <ralph@amissah.com> | 2014-05-12 21:22:19 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2014-05-12 21:22:19 -0400 |
commit | 3ea16523f1a3cbbdcd451a3845725417ee2141d8 (patch) | |
tree | 837c9de4e9779ba2adacc4cbe4edad6d8a7ddc3f /lib/sisu/v6/shared_markup_alt.rb | |
parent | v5: digests cleaning (diff) |
v6: digests sha512 option implemented
* options sha512 sha256 md5
* command line --sha512
* rcconf.yml ['defsault']['digest'] = sha512
* (Closes: #744402)
Diffstat (limited to 'lib/sisu/v6/shared_markup_alt.rb')
-rw-r--r-- | lib/sisu/v6/shared_markup_alt.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/sisu/v6/shared_markup_alt.rb b/lib/sisu/v6/shared_markup_alt.rb index 4971dde0..3bf3c7e4 100644 --- a/lib/sisu/v6/shared_markup_alt.rb +++ b/lib/sisu/v6/shared_markup_alt.rb @@ -207,20 +207,32 @@ module SiSU_TextRepresentation @t_o,@s=x,x.obj.dup end @env ||=SiSU_Env::InfoEnv.new(@md.fns) - @sha_ =((@env.digest.type =='sha256') ? true : false) + @sha_ = @env.digest(@md.opt).type begin - @sha_ ? (require 'digest/sha2') : (require 'digest/md5') + case @sha_ + when :sha512 + require 'digest/sha2' + when :sha256 + require 'digest/sha2' + when :md5 + require 'digest/md5' + end rescue LoadError SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).error((@sha_ ? 'digest/sha2' : 'digest/md5') + ' NOT FOUND') end end def digest(txt) d=nil - if @sha_ + case @sha_ + when :sha512 + for hash_class in [ Digest::SHA512 ] + d=hash_class.hexdigest(txt) + end + when :sha256 for hash_class in [ Digest::SHA256 ] d=hash_class.hexdigest(txt) end - else + when :md5 for hash_class in [ Digest::MD5 ] d=hash_class.hexdigest(txt) end |