2010-10-04 8 views

Répondre

2

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!

+0

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 –

+0

okay je l'ai résolu en appelant juste h.digest :) merci beaucoup! –