diff options
Diffstat (limited to 'lib/paseto/v4/local_mode_example_test.go')
| -rw-r--r-- | lib/paseto/v4/local_mode_example_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/paseto/v4/local_mode_example_test.go b/lib/paseto/v4/local_mode_example_test.go new file mode 100644 index 00000000..a9708935 --- /dev/null +++ b/lib/paseto/v4/local_mode_example_test.go @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: BSD-3-Clause +// SPDX-FileCopyrightText: 2026 M. Shulhan <ms@kilabit.info> + +package pasetov4 + +import ( + "encoding/hex" + "fmt" + "log" +) + +func ExampleLocalMode() { + secret := `707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f` + key, err := hex.DecodeString(secret) + if err != nil { + log.Fatal(err) + } + lmode := NewLocalMode([32]byte(key)) + plain := []byte(`{"data":"Hello, secret!"}`) + footer := []byte(`{"kid":1000}`) + token, err := lmode.Encrypt(plain, footer, nil) + if err != nil { + log.Fatal(err) + } + + gotPlain, gotFooter, err := lmode.Decrypt(token, nil) + if err != nil { + log.Fatal(err) + } + fmt.Println(string(gotPlain)) + fmt.Println(string(gotFooter)) + + // Output: + // {"data":"Hello, secret!"} + // {"kid":1000} +} |
