模块介绍

使用 aes 对称解密算法 进行加密、解密,当前包使用的是 密码分组链(CBC) 模式。

方法说明

方法 说明
aes.New(key, iv).Encrypt(encryptStr string) 加密
aes.New(key, iv).Decrypt(decryptStr string) 解密

测试用例

  1. func TestEncrypt(t *testing.T) {
  2. t.Log(New(key, iv).Encrypt("123456"))
  3. }
  4. func TestDecrypt(t *testing.T) {
  5. t.Log(New(key, iv).Decrypt("GO-ri84zevE-z1biJwfQPw=="))
  6. }

基准报告

  1. func BenchmarkEncryptAndDecrypt(b *testing.B) {
  2. b.ResetTimer()
  3. aes := New(key, iv)
  4. for i := 0; i < b.N; i++ {
  5. encryptString, _ := aes.Encrypt("123456")
  6. aes.Decrypt(encryptString)
  7. }
  8. }
  9. // 输出
  10. goos: darwin
  11. goarch: amd64
  12. pkg: github.com/xinliangnote/go-gin-api/pkg/aes
  13. BenchmarkEncryptAndDecrypt
  14. BenchmarkEncryptAndDecrypt-12 1219897 963 ns/op
  15. PASS
  16. Process finished with exit code 0