반응형
업비트에서 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)
반응형
'코인 > 바이낸스API' 카테고리의 다른 글
바이낸스 거래 기록 엑셀로 확인 , 정리하기 API , VBA 연결 (0) | 2021.06.15 |
---|---|
바이낸스 API 엑셀 모든 코인 현재 거래 시세 정리 - VBA (3) | 2021.05.09 |
바이낸스 API 엑셀 내 보유 코인 정리 - VBA (1) | 2021.05.08 |
바이낸스API 적용을 위한 서버시간 찾기 - VBA (0) | 2021.05.08 |
바이낸스 API 적용을 위해 엑셀에서 Unix TimeStamp 만들기 - VBA (0) | 2021.05.07 |
댓글