본문 바로가기
엑셀/VBA

VBA,엑셀 로 SHA512 HASH 하기

by 큐브빌드 2021. 4. 20.
반응형

업비트 API를 사용하려다 보니 SHA512를 사용해야 됩니다...ㅠㅠ

 

JWT로 끝이 난줄알았는데 또 뭔가가 있었습니다.

 

그러면 SHA512는 또 어떻게 만들어야 하는지 열심히 구글링을 해봐야겠습니다.

 

SHA512도 암호화 같은 겁니다.

 

구글에 SHA512 HASH 라고 치면 Tool 관련 사이트가 많이 나옵니다. 거기 중 1개를 선택하여 검증 하였습니다.

 

근데 복원화 사이트는 찾기가 쉽지 않습니다.

 

그리고 제가 사용할 VBA에서 SHA512를 찾아봤습니다.

Function to_SHA512(Value)
Dim text As Object
Dim SHA512 As Object
Set text = CreateObject("System.Text.UTF8Encoding")
Set SHA512 = CreateObject("System.Security.Cryptography.SHA512Managed")
to_SHA512 = ToHexString(SHA512.ComputeHash_2((text.GetBytes_4(Value))))
End Function

Function ToHexString(rabyt)
'Ref: http://stackoverflow.com/questions/1118947/converting-binary-file-to-base64-string
With CreateObject("MSXML2.DOMDocument")
.LoadXML "<root />"
.DocumentElement.DataType = "bin.Hex"
.DocumentElement.nodeTypedValue = rabyt
ToHexString = Replace(.DocumentElement.text, vbLf, "")
End With
End Function

 

코드입니다.

 

to_SHA512를 VBA 실행했습니다.

 

내용을 보면 mypassword라는 단어를 SHA512 암호화하였습니다.

 

Debug.Print ToHexString(SHA512.ComputeHash_2((text.GetBytes_4("mypassword")))) 이 부분입니다.

 

 

실행하였더니 a336 어쩌고저쩌고 결과 값이 나왔습니다.

 

그리고 암호화 사이트를 통해서 확인해 본 결과

역시 이렇게 나왔습니다.

 

값이 동일합니다.

 

SHA512는 생각보다 쉽게 해결된 것 같습니다.

 

SHA512를 사용할 수 있게 코드를 수정하여 파일로 올렸습니다.

 

이렇게 엑셀에서 함수로 사용할 수 있게 코드를 변경했습니다.

 

이제 다시 업비트 api에서 코인을 구매하기 위해서 열심히 알아보겠습니다.

SHA512.xlsm
0.02MB

반응형

댓글