[Golang] RC4加解密

@[toc]

前言

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

代码

工具类

go 复制代码
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)
}

测试类

go 复制代码
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。


本文由博客一文多发平台 OpenWrite 发布!

相关推荐
CHQIUU11 分钟前
跨语言哈希一致性:C# 与 Java 的 MD5 之战?
java·c#·哈希算法
JavaDog程序狗23 分钟前
【java】easypoi导出excel单元格,填充动态下拉列
java·spring boot·excel
Java中文社群31 分钟前
国内首个「混合推理模型」Qwen3深夜开源,盘点它的N种对接方式!
java·人工智能·后端
掉鱼的猫39 分钟前
qwen3 惊喜发布,用 ollama + solon ai (java) 尝个鲜
java·openai·deepseek
GuGuStudy1 小时前
这都是什么多线程知识
java
Bob99981 小时前
Amlogic S905L3系列盒子 ROM DIY相关
java·javascript·数据仓库·vscode·eclipse·tomcat·vim
带刺的坐椅1 小时前
qwen3 惊喜发布,用 ollama + solon ai (java) 尝个鲜
java·spring·solon·solon-ai·qwen3
.生产的驴2 小时前
SpringBoot 接口国际化i18n 多语言返回 中英文切换 全球化 语言切换
java·开发语言·spring boot·后端·前端框架
Howard_Stark2 小时前
Spring的BeanFactory和FactoryBean的区别
java·后端·spring
饮长安千年月2 小时前
学生管理系统审计
java·网络安全·代码审计