aes.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package aes
  2. // 加密密钥和签名密钥
  3. var AesKey = []byte("AESKey1234567890")
  4. var hmacKey = []byte("HMACKey1234567890")
  5. //func EncryptFile(filePath string, aesKey []byte, hmacKey []byte) ([]byte, []byte, error) {
  6. // // 读取文件内容
  7. // fileContent, err := os.ReadFile(filePath)
  8. // if err != nil {
  9. // return nil, nil, err
  10. // }
  11. //
  12. // // 创建 AES 加密块
  13. // block, err := aes.NewCipher(AesKey)
  14. // if err != nil {
  15. // return nil, nil, err
  16. // }
  17. //
  18. // // 创建 AES 加密模式
  19. // gcm, err := cipher.NewGCM(block)
  20. // if err != nil {
  21. // return nil, nil, err
  22. // }
  23. //
  24. // // 生成随机 nonce
  25. // nonce := make([]byte, gcm.NonceSize())
  26. // if _, err = io.ReadFull(rand.Reader, nonce); err != nil {
  27. // return nil, nil, err
  28. // }
  29. //
  30. // // 加密文件内容
  31. // encryptedFileContent := gcm.Seal(nil, nonce, fileContent, nil)
  32. //
  33. // // 计算 HMAC 签名
  34. // h := hmac.New(sha256.New, hmacKey)
  35. // _, err = h.Write(encryptedFileContent)
  36. // if err != nil {
  37. // return nil, nil, err
  38. // }
  39. // signature := h.Sum(nil)
  40. //
  41. // return encryptedFileContent, signature, nil
  42. //}