mock_encryptor.go 688 B

12345678910111213141516171819202122232425262728
  1. // Copyright 2021 Tencent Inc. All rights reserved.
  2. package encryptors
  3. import (
  4. "context"
  5. "fmt"
  6. )
  7. // MockEncryptor 模拟字符串加密器
  8. type MockEncryptor struct {
  9. Serial string
  10. }
  11. // SelectCertificate 模拟选择加密用证书
  12. func (e *MockEncryptor) SelectCertificate(ctx context.Context) (serial string, err error) {
  13. return e.Serial, nil
  14. }
  15. // Encrypt 使用指定证书进行字符串加密
  16. func (e *MockEncryptor) Encrypt(ctx context.Context, serial, plaintext string) (ciphertext string, err error) {
  17. if serial != e.Serial {
  18. return plaintext, fmt.Errorf("invalid certificate serial: `%v`", serial)
  19. }
  20. ciphertext = "Encrypted" + plaintext
  21. return ciphertext, nil
  22. }