Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合 | Go 技术论坛


本站和网页 https://learnku.com/articles/35145 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合 | Go 技术论坛
Go
话题列表
社区 Wiki
优质外文
招聘求职
Go 实战教程
社区文档
登录
注册
Go
首页
Laravel
Go
PHP
Vue.js
Python
Java
MySQL
Rust
LK
Elasticsearch
F2E 前端
Server
程序员
Database
DevTools
Computer Science
手机开发
AdonisJS
社区
Wiki
教程
Go 实战教程首页
《G01 Go 实战:Web 入门》
《G02 Go API 实战》
《GX1 Golang 五分钟视频》
文档
社区文档首页
《高效的 Go 编程 Effective Go》
《Go Blog 中文翻译》
《Go 简易教程》
《Go 编程实例 Go by Example》
《Go 入门指南》
《Go 编程基础(视频)》
《Go Web 编程》
《Iris 框架中文文档》
《通过测试学习 Go 编程》
《Gin 框架中文文档》
《GORM 中文文档》
《Go SQL 数据库教程》
登录
注册
微信登录
Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合
JonLee 的个人博客
855
创建于 3年前
更新于 3年前
Openssl encryption:OpenSSL库的功能包装,用于对称和非对称加密和解密。
AES-ECBAES-CBCDES-ECBDES-CBC3DES-ECB3DES-CBC
安装
go get -u github.com/forgoer/openssl
用法
AES
密钥的长度可以是16/24/32个字符(128/192/256位)。
AES-ECB:
src := []byte("123456")
key := []byte("1234567890123456")
dst , _ := openssl.AesECBEncrypt(src, key, openssl.PKCS7_PADDING)
fmt.Printf(base64.StdEncoding.EncodeToString(dst)) // yXVUkR45PFz0UfpbDB8/ew==
dst , _ = openssl.AesECBDecrypt(dst, key, openssl.PKCS7_PADDING)
fmt.Println(string(dst)) // 123456
AES-CBC:
src := []byte("123456")
key := []byte("1234567890123456")
iv := []byte("1234567890123456")
dst , _ := openssl.AesCBCEncrypt(src, key, iv, openssl.PKCS7_PADDING)
fmt.Println(base64.StdEncoding.EncodeToString(dst)) // 1jdzWuniG6UMtoa3T6uNLA==
dst , _ = openssl.AesCBCDecrypt(dst, key, iv, openssl.PKCS7_PADDING)
fmt.Println(string(dst)) // 123456
DES
密钥的长度必须为8个字符(64位)。
DES-ECB:
openssl.DesECBEncrypt(src, key, openssl.PKCS7_PADDING)
openssl.DesECBDecrypt(src, key, openssl.PKCS7_PADDING)
DES-CBC:
openssl.DesCBCEncrypt(src, key, iv, openssl.PKCS7_PADDING)
openssl.DesCBCDecrypt(src, key, iv, openssl.PKCS7_PADDING)
3DES
密钥的长度必须为24个字符(192位)。
3DES-ECB:
openssl.Des3ECBEncrypt(src, key, openssl.PKCS7_PADDING)
openssl.Des3ECBDecrypt(src, key, openssl.PKCS7_PADDING)
3DES-CBC:
openssl.Des3CBCEncrypt(src, key, iv, openssl.PKCS7_PADDING)
openssl.Des3CBCDecrypt(src, key, iv, openssl.PKCS7_PADDING)
aes
des
3des
ECB
CBC
加密加密
golang
本作品采用《CC 协议》,转载必须注明作者和本文链接
举报
JonLee
116 声望
暂无个人描述~
2 人点赞
推荐文章:
更多推荐...
博客
GoWeb框架Gin学习总结
27
14
10个月前
分享创造
PowerWeChat V3 - 微信SDK 全新发布
21
32
1年前
分享创造
[开源] [正式版发布] Goravel,一个功能完备、具有良好扩展能力的 Golang Web 应用程序框架,致敬 Laravel,欢迎 star、issues
25
66
1年前
博客
Golang常见面试题
24
1年前
博客
线上502,居然是这个原因!
15
1年前
博客
Google:12 条 Golang 最佳实践
14
1年前
讨论数量: 0
排序:
时间
投票
(= ̄ω ̄=)··· 暂无内容!
讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
<a href="javascript:;" class="mr-2 ui popover text-mute" data-html="黏贴或拖拽图片至输入框内皆可上传图片">
<a href="javascript:;" class="mr-2 ui popover text-mute hide-on-mobile" data-html="支持除了 H1~H6 以外的GitHub 兼容 Markdown">
支持 MD
帮助
关注本文
评论
JonLee
未填写
文章
11
粉丝
喜欢
32
收藏
30
排名:433
访问:2.0 万
关注
私信
所有博文
阅读模式
文章归档
1 篇
2023 年 3 月
1 篇
2023 年 2 月
3 篇
2019 年 10 月
4 篇
2019 年 9 月
2 篇
2018 年 11 月
最新文章
最受欢迎
1个月前
工作中常用的git命令
2个月前
Go语言中实现HmacSHA256加密算法
3年前
Think Authz:支持 ACL、RBAC、ABAC 等模型的授权(角色和权限控制)库
3年前
Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合
3年前
Laravel Authorization:支持 ACL、RBAC、ABAC 等模型的授权库
PHP -Casbin: 支持 ACL、RBAC、ABAC 多种模型的 PHP 权限管理框架
Laravel Authorization:支持 ACL、RBAC、ABAC 等模型的授权库
PHP 中基于 Casbin 做 RBAC + RESTful 权限控制
Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合
Think Authz:支持 ACL、RBAC、ABAC 等模型的授权(角色和权限控制)库
博客标签
php
laravel
database
authorization
acl
hmac
slim
restful
rbac
git
aes
thinkphp
des
3des
sha256
abac
CBC
ECB
中间件
casbin
权限控制
权限管理
加密解密
授权
访问控制
基于属性的访问控制
加密加密
golang
社区赞助商
成为赞助商
社区赞助商
成为赞助商
关于 LearnKu
LearnKu 是终身编程者的修道场
做最专业、严肃的技术论坛
LearnKu 诞生的故事
资源推荐
《社区使用指南》
《文档撰写指南》
《LearnKu 社区规范》
《提问的智慧》
服务提供商
其他信息
成为版主
所有测验
联系站长(反馈建议)
粤ICP备18099781号-6
粤公网安备 44030502004330号
违法和不良信息举报
由 Summer 设计和编码 ❤
请登录
提交
忘记密码?
or
注册
第三方账号登录
微信登录
GitHub 登录
内容举报
匿名举报,为防止滥用,仅管理员可见举报者。
我要举报该,理由是:
垃圾广告:恶意灌水、广告、推广等内容
无意义内容:测试、灌水、文不对题、消极内容、文章品质太差等
违规内容:色情、暴利、血腥、敏感信息等
不友善内容:人身攻击、挑衅辱骂、恶意行为
科学上网:翻墙、VPN、Shadowsocks,政策风险,会被关站!
不懂提问:提问太随意,需要再做一遍《提问的智慧》测验
随意提问:提问没有发布在社区问答分类下
排版混乱:没有合理使用 Markdown 编写文章,未使用代码高亮
内容结构混乱:逻辑不清晰,内容混乱,难以阅读
标题随意:标题党、标题不释义
尊重版权:分享付费课程、破解软件(付费),侵犯作者劳动成果
其他理由:请补充说明
举报
取消