golang中DES怎么用
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关golang中DES怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。package utilimport ( "byt
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
手磨咖啡
天津市摩尔互联网科技
金融科技创新监管互联网金融
苏州互联网科技贷款公司
融势互联网科技
睿民互联网科技
新浪科技互联网
狮子座互联网科技培训
海南购全球互联网科技
深圳前海聚择互联网科技有限公司
互联网科技寓意
字节跳动和互联网科技
广州恒生互联网科技有限
成都铂石互联网科技做什么的
保险科技服务互联网营销体系
陕西云淼互联网科技公司
杭州融税互联网科技有限公司
互联网科技对化妆品行业
互联网科技创新方面的资料
恒生科技互联网指数十大成分股
互联网科技有限公司经营范围
凡科互联网科技
须眉科技是互联网公司吗
昭通互联网科技选哪家
新兴科技互联网创新大赛颁奖典礼
辽宁互联网新科技
合肥互联网科技公司公章图片
云南省自由互联网科技有限公司
浙南科技城互联网大厦招聘
北京互联网科技类企业分布