0
点赞
收藏
分享

微信扫一扫

goland 使用crypto加解密

var key = []byte("1234123412ABCDEF")
var iv = []byte("ABCDEF1234123412")

// 加密函数
func EncryptData(data string) string {
   block, err := aes.NewCipher(key)
   if err != nil {
      return ""
   }
   stream := cipher.NewCTR(block, iv)
   ciphertext := make([]byte, len(data))
   stream.XORKeyStream(ciphertext, []byte(data))
   return base64.URLEncoding.EncodeToString(ciphertext)
}

// 解密函数
func DecryptData(ciphertext string) (string, error) {
   block, err := aes.NewCipher(key)
   if err != nil {
      return "", err
   }
   stream := cipher.NewCTR(block, iv)
   data, err := base64.URLEncoding.DecodeString(ciphertext)
   if err != nil {
      return "", err
   }
   plaintext := make([]byte, len(data))
   stream.XORKeyStream(plaintext, data)
   return string(plaintext), nil
}


举报

相关推荐

0 条评论