aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v5/shared_markup_alt.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v5/shared_markup_alt.rb')
-rw-r--r--lib/sisu/v5/shared_markup_alt.rb20
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/sisu/v5/shared_markup_alt.rb b/lib/sisu/v5/shared_markup_alt.rb
index 5a37c934..1fb078c6 100644
--- a/lib/sisu/v5/shared_markup_alt.rb
+++ b/lib/sisu/v5/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