-
Notifications
You must be signed in to change notification settings - Fork 0
/
index_HMAC.asp
59 lines (50 loc) · 1.31 KB
/
index_HMAC.asp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!--#include file="KISA_HMAC.asp" -->
<%
function convertTextToHexString(myString)
Dim hexString
hexString = ""
For i = 1 To Len(myString)
hexString = hexString & Right("0" & Hex(Asc(Mid(myString, i, 1))), 2)
Next
convertTextToHexString = hexString
end function
Function LPad(StringToPad, Length, CharacterToPad)
Dim x : x = 0
If Length > Len(StringToPad) Then x = Length - len(StringToPad)
LPad = String(x, CharacterToPad) & StringToPad
End Function
function generateSHA256(input, key)
dim i
dim result
dim vinput()
dim vkey()
dim inputLen
dim klen
dim vmacLen
dim vmac(31)
dim mac
dim inputHex
inputHex = convertTextToHexString(input)
keyHex = convertTextToHexString(key)
inputLen = Len(inputHex)/2
klen = Len(keyHex)/2
vmacLen = CInt("1")
redim vinput(inputLen)
for i = 0 to inputLen - 1
vinput(i) = (Cbyte)("&H" & (MID(inputHex,(2*i)+1,2)))
next
redim vkey(klen)
for i = 0 to klen - 1
vkey(i) = (Cbyte)("&H" & (MID(keyHex,(2*i)+1,2)))
next
result = KISA_HMAC.HMAC_SHA256(vinput, inputLen, vkey, klen, vmac)
if result <> 0 then
Response.Wirte(result & ", Failure!")
exit function
end if
for i = 0 to 31
mac = mac & LPad(CStr(Hex(vmac(i))), 2, "0")
next
generateSHA256 = mac
end function
%>