go-dongle 0.2.6 版本发布,一个轻量级、语义化的 golang 编码解码、加密解密库

简介: dongle 是一个轻量级、语义化、对开发者友好的 Golang 编码解码和加密解密库

dongle 是一个轻量级、语义化、对开发者友好的 Golang 编码解码和加密解密库

Dongle 已被 awesome-go 收录, 如果您觉得不错,请给个 star 吧

github.com/golang-module/dongle

gitee.com/golang-module/dongle

更新日志

  • 增加对 tea 超长文本的加密、解密支持,如果加密明文超过 8 字节,进行空字符串填充分段加密
  • 增加 Empty 空字符串填充模式的支持
  • 更改 github.com/tjfoc/gmsm/sm3github.com/emmansun/gmsm/sm3
  • encrypt 方法从 encrypter.go 移动到 cipher.go, 将 decrypt 方法从 decrypter.go 移动到 cipher.go
  • 移除 invalidTeaSrcErrorinvalidModeErrorinvalidPaddingError

功能清单

  • [x] Hex 编码、解码
  • [x] Base16 编码、解码
  • [x] Base32 编码、解码
  • [x] Base45 编码、解码
  • [x] Base58 编码、解码
  • [x] Base62 编码、解码
  • [x] Base64 编码、解码
  • [x] Base64URL 编码、解码
  • [x] SafeURL 编码、解码
  • [x] Base85 编码、解码
  • [x] Base91 编码、解码
  • [x] Base100 编码、解码
  • [x] Morse(摩斯) 编码、解码
  • [x] Md2 加密
  • [x] Md4 加密
  • [x] Md5 加密
  • [x] Sha1 加密
  • [x] Sha3-224 加密
  • [x] Sha3-256 加密
  • [x] Sha3-384 加密
  • [x] Sha3-512 加密
  • [x] Sha224 加密
  • [x] Sha256 加密
  • [x] Sha384 加密
  • [x] Sha512 加密
  • [x] Sha512-224 加密
  • [x] Sha512-256 加密
  • [x] Shake128 加密
  • [x] Shake256 加密
  • [x] Ripemd160 加密
  • [x] Blake2b-256 加密
  • [x] Blake2b-384 加密
  • [x] Blake2b-512 加密
  • [x] Blake2s-256 加密
  • [x] Hmac-md2 加密
  • [x] Hmac-md4 加密
  • [x] Hmac-md5 加密
  • [x] Hmac-sha1 加密
  • [x] Hmac-sha3-224 加密
  • [x] Hmac-sha3-256 加密
  • [x] Hmac-sha3-384 加密
  • [x] Hmac-sha3-512 加密
  • [x] Hmac-sha224 加密
  • [x] Hmac-sha256 加密
  • [x] Hmac-sha384 加密
  • [x] Hmac-sha512 加密
  • [x] Hmac-sha512-224 加密
  • [x] Hmac-sha512-256 加密
  • [x] Hmac-ripemd160 加密
  • [x] Hmac-sm3 加密
  • [ ] Rc2 加密、解密
  • [x] Rc4 加密、解密
  • [ ] Rc5 加密、解密
  • [ ] Rc6 加密、解密
  • [x] Tea 加密、解密
  • [ ] Xtea 加密、解密
  • [x] Aes 加密、解密
  • [x] Blowfish 加密、解密
  • [x] Des 加密、解密
  • [x] 3Des 加密、解密
  • [x] Rsa 加密、解密
  • [ ] Ecc 加密、解密
  • [ ] Sm2 加密、解密
  • [x] Sm3 加密
  • [ ] Sm4 加密、解密
  • [ ] Sm7 加密、解密
  • [ ] Sm9 加密、解密
  • [x] Bcrypt 签名、验签
  • [x] Ed25519 签名、验签
  • [x] Rsa 签名、验签
  • [ ] Dsa 签名、验签
目录
相关文章
|
5月前
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
1097 103
|
4月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
161 26
|
5月前
|
Go 索引
【LeetCode 热题100】394:字符串解码(详细解析)(Go语言版)
本文详细解析了 LeetCode 热题 394:字符串解码。题目要求对编码字符串如 `k[encoded_string]` 进行解码,其中 `encoded_string` 需重复 `k` 次。文章提供了两种解法:使用栈模拟和递归 DFS,并附有 Go 语言实现代码。栈解法通过数字栈与字符串栈记录状态,适合迭代;递归解法则利用函数调用处理嵌套结构,代码更简洁。两者时间复杂度均为 O(n),但递归需注意栈深度问题。文章还总结了解题注意事项及适用场景,帮助读者更好地掌握字符串嵌套解析技巧。
132 6
|
6月前
|
存储 机器学习/深度学习 缓存
🚀 力扣热题 394:字符串解码(详细解析)(Go语言版)
文章提供了两种解法:栈结构和递归解法。栈解法通过维护数字栈与字符串栈,依次处理 `[` 和 `]`,构造解码结果;递归解法则利用函数调用逐层解析嵌套结构。两者时间复杂度均为 $O(n)$,空间复杂度也为 $O(n)$。栈解法直观易懂,适合初学者;递归解法优雅简洁,适合处理深度嵌套规则。掌握这两种方法,可灵活应对类似问题,提升解题能力。
182 11
|
6月前
|
Go 开发者
go-carbon v2.6.0 重大版本更新,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持
111 3
|
8月前
|
算法 安全 Go
Go语言中的加密和解密是如何实现的?
Go语言通过标准库中的`crypto`包提供丰富的加密和解密功能,包括对称加密(如AES)、非对称加密(如RSA、ECDSA)及散列函数(如SHA256)。`encoding/base64`包则用于Base64编码与解码。开发者可根据需求选择合适的算法和密钥,使用这些包进行加密操作。示例代码展示了如何使用`crypto/aes`包实现对称加密。加密和解密操作涉及敏感数据处理,需格外注意安全性。
163 14
|
7月前
|
网络协议 测试技术 Linux
Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库
gev 是一个基于 epoll 和 kqueue 实现的高性能事件循环库,适用于 Linux 和 macOS(Windows 暂不支持)。它支持多核多线程、动态扩容的 Ring Buffer 读写缓冲区、异步读写和 SO_REUSEPORT 端口重用。gev 使用少量 goroutine,监听连接并处理读写事件。性能测试显示其在不同配置下表现优异。安装命令:`go get -u github.com/Allenxuxu/gev`。
119 0
|
7月前
|
网络协议 Linux Go
用 Go 基于 epoll 实现一个最小化的IO库
Go 语言社区中存在多个异步网络框架,如 evio、nbio、gnet 和 netpoll 等。这些框架旨在解决标准库 netpoll 的低效问题,如一个连接占用一个 goroutine 导致的资源浪费。easyio 是一个最小化的 IO 框架,核心代码不超过 500 行,仅实现 Linux 下的 epoll 和 TCP 协议。它通过 Worker Pool、Buffer 等优化提高了性能,并提供了简单的事件处理机制。
|
10月前
|
JSON Go 开发者
go-carbon v2.5.0 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持。
207 4
|
10月前
|
存储 Go PHP
Go语言中的加解密利器:go-crypto库全解析
在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
497 0

推荐镜像

更多