Je suis nouveau à Crystal. Je voudrais essayer de trouver le SHA256 hachage d'une chaîne hexagonale. J'ai réussi à obtenir quelque chose de travail:Crystal: Comment trouver le hachage SHA256 d'une valeur binaire?
sha256 = OpenSSL::Digest.new("sha256")
puts sha256.update("abcd")
Mais je ne sais pas comment mettre la valeur binaire de « ABCD » pour la fonction de hachage, ou obtenir binaire sur. Je voudrais essentiellement être en mesure de recréer cette fonction Ruby:
def hash256(hex)
# 1. Convert hex string to array, and pack in to binary
binary = [hex].pack("H*")
# 2. Hash the binary value (returns binary)
hash1 = Digest::SHA256.digest(binary)
# 3. Hash it again (returns binary)
hash2 = Digest::SHA256.digest(hash1)
# 4. Convert back to hex (must unpack as array)
result = hash2.unpack("H*")[0]
return result
end
Est-il possible d'utiliser SHA256 avec des valeurs binaires en cristal?
Merci beaucoup. La raison de l'utilisation de SHA256 à deux reprises est parce que j'essaie d'apprendre le cristal en écrivant une bibliothèque Bitcoin, et pour une raison non réelle, les choses ont tendance à être hachées deux fois. – inersha