golang中DES怎么用
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章将为大家详细讲解有关golang中DES怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。package utilimport ( "byt
千家信息网最后更新 2025年02月02日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安全错误
数据库的锁怎样保障安全
打开数据库的语法格式是
网络安全日宣传主题
培训学校网络安全保障工作方案
高科技互联网公司logo
数据中心服务器厂家供应
关于网络安全事件通报模板
酒店网络安全小组摸板
服务器机房散热方案
erp软件开发杭州
信息网络安全的缺口
数据库中向前恢复的含义
寒假护苗网络安全观看心得
全车销量数据库
软件开发易用性设计
江西南昌dns服务器虚拟主机
软件开发做银行驻场
数据库连接池释放
保养服务器注意事项
本科采矿研究生软件开发
绿色服务器会出现什么原因
医学数据库知识
朝阳网络技术工作室
信息网络安全的缺口
服务器如何加网卡
温州java软件开发工程师
机器人与网络安全防御
海南大学网络安全体系中标公告
网络安全与信息对抗技术培训
流放者柯南玩家服务器关闭
oracle数据库删除备份