[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

目录
相关文章
|
5月前
|
JSON Go 网络安全
golang使用JWX进行认证和加密
golang使用JWX进行认证和加密
79 5
|
3月前
|
算法 安全 Go
RSA加密算法详解与Python和Go实现
RSA加密算法详解与Python和Go实现
231 1
|
存储 算法 安全
Golang 实现对配置文件加密
Golang 实现对配置文件加密
|
安全 算法 Go
Go-ecc加密解密详解与代码
Go-ecc加密解密详解与代码
816 0
|
中间件 Go
golang实现Pub/Sub模式
golang实现Pub/Sub模式
|
算法 搜索推荐 Go
AES加密算法简介及Go库介绍|Go主题月
AES(Advanced Encryption Standard)的中文名叫高级加密标准,又称 Rijndael 加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于 2001 年 11 月 26 日发布于 FIPS PUB 197,并在 2002 年 5 月 26 日成为有效的标准。现在,高级加密标准已然成为对称密钥加密中最流行的算法之一。
262 1
|
存储 算法 搜索推荐
Golang:加密解密算法
Golang:加密解密算法
278 0
Golang:加密解密算法
|
Go 数据安全/隐私保护
Go 实现 AES 加密 CBC 模式|Go主题月
密码分组链接模式 CBC (Cipher Block Chaining),这种模式是先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。
366 0
|
Java Linux Go
知识分享之Golang——Golang中日常使用的随机数和UUID
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
202 0
知识分享之Golang——Golang中日常使用的随机数和UUID

热门文章

最新文章