Si vous avez besoin que la sortie soit une longueur de 32, il vous suffit d'appeler Digest :: SHA2.new avec une longueur de bits de 256 (qui est par défaut):
irb> require 'digest/sha2'
=> true
irb> h = Digest::SHA2.new(256) << "hashme"
=> #<Digest::SHA2:256 02208b9403a87df9f4ed6b2ee2657efaa589026b4cce9accc8e8a5bf3d693c86>
irb> puts h.length
32
=> nil
irb> puts h
02208b9403a87df9f4ed6b2ee2657efaa589026b4cce9accc8e8a5bf3d693c86
=> nil
Ou tout simplement:
irb> h = Digest::SHA2.new << "hashme"
=> #<Digest::SHA2:256 02208b9403a87df9f4ed6b2ee2657efaa589026b4cce9accc8e8a5bf3d693c86>
irb> puts h.length
32
=> nil
irb> puts h
02208b9403a87df9f4ed6b2ee2657efaa589026b4cce9accc8e8a5bf3d693c86
=> nil
Espérons que cela aide!
merci beaucoup mais cela ne résout pas mon problème. PHP a un troisième paramètre dans hash() qui déclenche la sortie "raw binary". Je veux convertir h pour être exactement la même sortie "brute binaire". voir http://de2.php.net/manual/fr/function.hash.php –
okay je l'ai résolu en appelant juste h.digest :) merci beaucoup! –