[Golang] RC4加解密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: [Golang] RC4加解密

前言

拿去直接用,直接 Ctrl+C/V

代码

工具类

package utils

import (
  "crypto/rc4"
  "encoding/base64"
)

// 加密
func EncryptionRc4(k, query string) string {
  key := []byte(k)
  plaintext := []byte(query)
  // encryption
  ciphertext := make([]byte, len(plaintext))
  cipher1, _ := rc4.NewCipher(key)
  cipher1.XORKeyStream(ciphertext, plaintext)
  return base64.StdEncoding.EncodeToString(ciphertext)
}

// 解密
func DecryptionRc4(k, query string) string {
  param, err := base64.StdEncoding.DecodeString(query)
  if err != nil {
    return ""
  }
  key := []byte(k)
  ciphertext := param
  plaintextDec := make([]byte, len(ciphertext))
  cipher2, _ := rc4.NewCipher(key)
  cipher2.XORKeyStream(plaintextDec, ciphertext)
  return string(plaintextDec)
}

测试类

func TestRc4(t *testing.T) {
  // 密钥 & 待加密字符串
  rc4 := utils.EncryptionRc4("javaPub_api_key", "我要被加密啦,好害怕!!!")
  fmt.Println("这是加密后的👇:")
  fmt.Println(rc4)
  decryptionRc4 := utils.DecryptionRc4("javaPub_api_key", rc4)
  fmt.Println("这是解密后的👇:")
  fmt.Println(decryptionRc4)
}

祝:工作顺利,得心应手。我是 JavaPub

目录
相关文章
|
3月前
|
JSON Go 网络安全
golang使用JWX进行认证和加密
golang使用JWX进行认证和加密
50 5
|
存储 算法 安全
Golang 实现对配置文件加密
Golang 实现对配置文件加密
|
6月前
|
Go
golang安装protoc和gRPC步骤
golang安装protoc和gRPC步骤
140 0
|
6月前
|
存储 算法 搜索推荐
保护数据隐私:深入探索Golang中的SM4加密解密算法
保护数据隐私:深入探索Golang中的SM4加密解密算法
186 0
|
安全 算法 Go
Go-ecc加密解密详解与代码
Go-ecc加密解密详解与代码
801 0
Go-ecc加密解密详解与代码
|
中间件 Go
golang实现Pub/Sub模式
golang实现Pub/Sub模式
|
Go 数据安全/隐私保护
Golang:使用标准库crypto/aes实现AES加密和解密
Golang:使用标准库crypto/aes实现AES加密和解密
931 0
|
存储 算法 搜索推荐
Golang:加密解密算法
Golang:加密解密算法
257 0
Golang:加密解密算法
|
Java Linux Go
知识分享之Golang——Golang中日常使用的随机数和UUID
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
192 0
知识分享之Golang——Golang中日常使用的随机数和UUID