/
crypto.go
43 lines (37 loc) · 1021 Bytes
/
crypto.go
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
package gluacrypto_crypto
import (
lua "github.com/yuin/gopher-lua"
)
var exports = map[string]lua.LGFunction{
"base64_encode": base64EncodeFn,
"base64_decode": base64DecodeFn,
"crc32": crc32Fn,
"md5": md5Fn,
"sha1": sha1Fn,
"sha256": sha256Fn,
"sha512": sha512Fn,
"hmac": hmacFn,
"valid_hmac": validHmacFn,
"encrypt": encryptFn,
"decrypt": decryptFn,
"random": randomFn,
"fast_random": fastRandomFn,
"xor": xorFn,
"stoh": strtohexFn,
"htos": hextostrFn,
"htoi": hextointFn,
"htot": hextotblFn,
"hexor": hexorFn,
"ord": ordFn,
"char": charFn,
}
func Loader(L *lua.LState) int {
mod := L.SetFuncs(L.NewTable(), exports)
L.Push(mod)
L.SetField(mod, "_DEBUG", lua.LBool(false))
L.SetField(mod, "_VERSION", lua.LString("0.0.0"))
// consts
L.SetField(mod, "RAW_DATA", lua.LNumber(1))
L.SetField(mod, "ZERO_PADDING", lua.LNumber(2))
return 1
}