...
1
2
3 package hmac
4
5 import (
6 "cuelang.org/go/internal/core/adt"
7 "cuelang.org/go/internal/pkg"
8 )
9
10 func init() {
11 pkg.Register("crypto/hmac", p)
12 }
13
14 var _ = adt.TopKind
15
16 var p = &pkg.Package{
17 Native: []*pkg.Builtin{{
18 Name: "MD5",
19 Const: "\"MD5\"",
20 }, {
21 Name: "SHA1",
22 Const: "\"SHA1\"",
23 }, {
24 Name: "SHA224",
25 Const: "\"SHA224\"",
26 }, {
27 Name: "SHA256",
28 Const: "\"SHA256\"",
29 }, {
30 Name: "SHA384",
31 Const: "\"SHA384\"",
32 }, {
33 Name: "SHA512",
34 Const: "\"SHA512\"",
35 }, {
36 Name: "SHA512_224",
37 Const: "\"SHA512_224\"",
38 }, {
39 Name: "SHA512_256",
40 Const: "\"SHA512_256\"",
41 }, {
42 Name: "Sign",
43 Params: []pkg.Param{
44 {Kind: adt.StringKind},
45 {Kind: adt.BytesKind | adt.StringKind},
46 {Kind: adt.BytesKind | adt.StringKind},
47 },
48 Result: adt.BytesKind | adt.StringKind,
49 Func: func(c *pkg.CallCtxt) {
50 hashName, key, data := c.String(0), c.Bytes(1), c.Bytes(2)
51 if c.Do() {
52 c.Ret, c.Err = Sign(hashName, key, data)
53 }
54 },
55 }},
56 }
57
View as plain text