본문 바로가기
코인/바이낸스API

바이낸스API 적용을 위한 HMAC_SHA256_ToHex - VBA

by 큐브빌드 2021. 5. 7.
반응형

업비트에서 HMACSHA256을 사용했기 때문에 아무 문제 없이 될 줄 알았습니다.

 

업비트는 HMAC_SHA256_ToBase64 이고

 

바이낸스는 HMAC_SHA256_ToHEX 였습니다.

 

hmac_sha256은 한개인줄만 알았지만 정확히 찾아보니

 

hex digest 와 base64 이렇게 두개가 있었습니다.

 

hex digest을 사용하기 때문에 

 

Public Function digest_HMACSHA256(ByVal sTextToHash As String, ByVal sSharedSecretKey As String)
Dim asc As Object, enc As Object
Dim TextToHash() As Byte
Dim SharedSecretKey() As Byte
Set asc = CreateObject("System.Text.UTF8Encoding")
Set enc = CreateObject("System.Security.Cryptography.HMACSHA256")
TextToHash = asc.Getbytes_4(sTextToHash)
SharedSecretKey = asc.Getbytes_4(sSharedSecretKey)
enc.Key = SharedSecretKey

Dim bytes() As Byte
bytes = enc.ComputeHash_2((TextToHash))
digest_HMACSHA256 = ToHexString(bytes)
Set asc = Nothing
Set enc = Nothing
End Function


Function ToHexString(rabyt)
With CreateObject("MSXML2.DOMDocument")
.LoadXML "<root />"
.DocumentElement.DataType = "bin.Hex"
.DocumentElement.nodeTypedValue = rabyt
ToHexString = Replace(.DocumentElement.text, vbLf, "")
End With
End Function

이렇게 해서 만들 수 있습니다.

 

base64의 경우는 제가 블로그 했던 글이 있습니다. (업비트)

 

vba 로 jwt 만들기 , 만드는 방법 - hs256 (tistory.com)

 

vba 로 jwt 만들기 , 만드는 방법 - hs256

서론 업비트 api를 엑셀로 적용하려고 하다 보니 jwt를 만들어야 합니다. jwt.io 사이트를 활용하여 jwt를 만들어 낼 수 있습니다. 하지만 추후 코인을 구매하고 코인을 판매할 때 다양한 주소들을

downupup.tistory.com

 

반응형

댓글