[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

目录
相关文章
|
2月前
|
JSON Go 网络安全
golang使用JWX进行认证和加密
golang使用JWX进行认证和加密
39 5
|
5月前
|
NoSQL 测试技术 Go
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
|
11月前
|
存储 算法 安全
Golang 实现对配置文件加密
Golang 实现对配置文件加密
|
5月前
|
存储 算法 搜索推荐
保护数据隐私:深入探索Golang中的SM4加密解密算法
保护数据隐私:深入探索Golang中的SM4加密解密算法
162 0
|
11月前
|
Shell Go 网络安全
openssl 证书生成笔记(go 1.15版本以上)
openssl 证书生成笔记(go 1.15版本以上)
|
安全 算法 Go
Go-ecc加密解密详解与代码
Go-ecc加密解密详解与代码
772 0
Go-ecc加密解密详解与代码
|
中间件 Go
golang实现Pub/Sub模式
golang实现Pub/Sub模式
|
Go 数据安全/隐私保护
Golang:使用标准库crypto/aes实现AES加密和解密
Golang:使用标准库crypto/aes实现AES加密和解密
874 0
|
存储 算法 搜索推荐
Golang:加密解密算法
Golang:加密解密算法
248 0
Golang:加密解密算法
|
Java Linux Go
知识分享之Golang——Golang中日常使用的随机数和UUID
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
189 0
知识分享之Golang——Golang中日常使用的随机数和UUID