使用 lua 进行 AES-256-GCM 加密

我需要找到一种使用 AES-256-GCM 算法在 lua 中加密的方法。 我在 lua 中安装了 openssl 模块,但我不知道如何使用它来进行 AES-256-GCM 加密,如何获取认证标签。

请帮忙解决。

点赞
用户12693515
用户12693515

你可以在 github repo 中阅读 README.md 文件

https://github.com/bungle/lua-resty-nettle

  local aes256 = aes.new("testtesttesttesttesttesttesttest", "gcm", "testtesttest", "testtesttesttest1asdasdasdasdasdasdasdasdasdasdasdasdasdasdasd")
  local ciphertext, digest = aes256:encrypt("a")
  print("aes256 gcm enc", #ciphertext, hex(ciphertext))
  print("aes256 gcm dgst", #digest, hex(digest))
  local aes256 = aes.new("testtesttesttesttesttesttesttest", "gcm", "testtesttest", "testtesttesttest1asdasdasdasdasdasdasdasdasdasdasdasdasdasdasd")
  local plaintext, digest = aes256:decrypt(ciphertext)
  print("aes256 gcm dec", #plaintext, plaintext)
  print("aes256 gcm dgst", #digest, hex(digest))

结果应该像这样:

aes256 gcm enc  1   3B
aes256 gcm dgst 16  EFB12AF268F64A602779EAE2F8C2FA03
aes256 gcm dec  1   a
aes256 gcm dgst 16  EFB12AF268F64A602779EAE2F8C2FA03
2020-01-19 03:37:17