저는 Crystal을 처음 사용합니다. 시도해보고 싶습니다 SHA256 16 진수 문자열의 해시. 나는 뭔가 작업을 진행하게 관리했습니다 :크리스탈 : 이진 값의 SHA256 해시를 어떻게 찾을 수 있습니까?
sha256 = OpenSSL::Digest.new("sha256")
puts sha256.update("abcd")
을하지만 해시 함수에 "ABCD"의 이진 값을 넣어, 또는 이진을하는 방법을 모르겠어요. 기본적으로이 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
Crystal에서 이진 값을 사용하여 SHA256을 사용할 수 있습니까? 이진 슬라이스로 진수 문자열을 디코딩
는
정말 고마워요. SHA256을 두 번 사용하는 이유는 Bitcoin 라이브러리를 작성하여 Crystal을 배우려고하기 때문에 실제 이유가 없으므로 해시가 두 번 발생하는 경향이 있기 때문입니다. – inersha