[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进行认证和加密
53 5
|
存储 算法 安全
Golang 实现对配置文件加密
Golang 实现对配置文件加密
|
5月前
|
消息中间件 Shell Go
GoLang 环境变量与配置
编程语言中的环境变量和配置管理是关键,Go 项目中配置文件不被打包,需通过环境变量解耦代码。
|
6月前
|
Go
golang安装protoc和gRPC步骤
golang安装protoc和gRPC步骤
141 0
|
Go C语言
golang的注意事项
golang的注意事项
golang的注意事项
|
安全 算法 Go
Go-ecc加密解密详解与代码
Go-ecc加密解密详解与代码
802 0
Go-ecc加密解密详解与代码
|
Shell Go 网络安全
openssl 证书生成笔记(go 1.15版本以上)
openssl 证书生成笔记(go 1.15版本以上)
|
中间件 Go
golang实现Pub/Sub模式
golang实现Pub/Sub模式
|
存储 算法 搜索推荐
Golang:加密解密算法
Golang:加密解密算法
258 0
Golang:加密解密算法
|
Java Linux Go
知识分享之Golang——Golang中日常使用的随机数和UUID
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
192 0
知识分享之Golang——Golang中日常使用的随机数和UUID