golang中DES怎么用
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关golang中DES怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。package utilimport ( "byt
千家信息网最后更新 2025年11月08日golang中DES怎么用
这篇文章将为大家详细讲解有关golang中DES怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
package utilimport ( "bytes" "crypto/cipher" "crypto/des" "encoding/base64")var ( iv = []byte{1, 2, 3, 4, 5, 6, 7, 8} key = []byte("java"))//DES加密func DesEncrypt(data []byte) string { result, _ := DesEncrypt(data, key, iv) return base64.StdEncoding.EncodeToString(result)}//DES解密func DesDecrypt(base64Str string) string { result, err := base64.StdEncoding.DecodeString(base64Str) if err != nil { return "" } origData, err := DesDecrypt(result, key, iv) if err != nil { return "" } return string(origData)}func DesEncrypt(origData, key, iv []byte) ([]byte, error) { block, err := des.NewCipher(key) if err != nil { return nil, err } origData = PKCS5Padding(origData, block.BlockSize()) blockMode := cipher.NewCBCEncrypter(block, iv) crypted := make([]byte, len(origData)) blockMode.CryptBlocks(crypted, origData) return crypted, nil}func DesDecrypt(crypted, key, iv []byte) ([]byte, error) { block, err := des.NewCipher(key) if err != nil { return nil, err } blockMode := cipher.NewCBCDecrypter(block, iv) origData := make([]byte, len(crypted)) blockMode.CryptBlocks(origData, crypted) origData = PKCS5UnPadding(origData) return origData, nil}func ZeroUnPadding(origData []byte) []byte { return bytes.TrimRightFunc(origData, func(r rune) bool { return r == rune(0) })}func PKCS5Padding(ciphertext []byte, blockSize int) []byte { padding := blockSize - len(ciphertext)%blockSize padtext := bytes.Repeat([]byte{byte(padding)}, padding) return append(ciphertext, padtext...)}func PKCS5UnPadding(origData []byte) []byte { length := len(origData) unpadding := int(origData[length-1]) return origData[:(length - unpadding)]}关于"golang中DES怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
篇文章
更多
不错
实用
内容
文章
知识
加密
参考
帮助
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
matlab一起画数据库
国家网络安全管理平台官网
哪个软件开发培训班好
云服务器怎么上传源码
附加数据库怎样加空白数据库
计算机二级数据库管理员工资
软件开发测试ipd流程
银杏基因数据库网站
网络安全 军民科技融合
互联网企业网络安全审查
大型公司软件开发流程
qq三国得陇望蜀服务器在哪
内蒙古推广软件开发
服务器主板怎么连接电脑
按键精灵数据库查找
猪八戒软件开发需求
java开发什么软件开发
数据库连接池怎么使用
网络安全问题反馈平台
网络技术助理是做什么
电脑服务器哪个版本最好用
综合网络技术服务直销价格
数据库端口挂了怎么办
手机出现无法验证服务器
网络安全管理测评哪几个层面
服务器pe现实屏幕一半黑
互为网络技术有限公司
数据库连接池怎么使用
网络安全签名给我接一下
联想服务器加了硬盘不认怎么办