登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情
代码拉取完成,页面将自动刷新
开源项目
>
程序开发
>
安全开发相关
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
29
Star
312
Fork
63
GVP
dromara
/
dongle
代码
Issues
0
Pull Requests
0
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
发行版
最新版
v1.2.2
3beba2b
2025-12-08 10:42
对比
v1.2.2
kuafuRace
## 更新内容 * 将 `mock` 和 `utils` 包移动到 `internal` 包中 * 优化 `Rsa` 非对称椭圆曲线加密算法, 新增 `SetPadding` 方法用于设置填充模式, 使密钥格式和填充模式解耦 * 增加 `Sm2` 非对称椭圆曲线签名/验证支持 **完整的更新日志**: https://gitee.com/dromara/dongle/compare/v1.2.1...v1.2.2
最后提交信息为:
docs(rsa): 更新RSA密钥对使用说明
v1.2.1
73fceed
2025-11-24 11:01
对比
v1.2.1
kuafuRace
## 更新内容 * 修复 `Sm2` 非对称椭圆曲线加密算法中 `wNAF` 算法错误造成某些情况下解密失败的 `bug` * 增加 `Sm2` 非对称椭圆曲线加密算法对 `BIT_STRING` 格式密钥直接解析支持 * 简化测试循环语法,从 `for` 循环改为 `range` 循环 **完整的更新日志**: https://gitee.com/dromara/dongle/compare/v1.2.0...v1.2.1
最后提交信息为:
chore(version): 更新版本号至 1.2.1
v1.2.0
9ed7d81
2025-11-11 10:15
对比
v1.2.0
kuafuRace
## 更新内容 * 移除 `RSAKeyPair` 结构体的 `LoadPublicKey` 和 `LoadPrivateKey` 方法 * 移除 `Ed25519KeyPair` 结构体的 `LoadPublicKey` 和 `LoadPrivateKey` 方法 * 优化编码器和解码器性能,重用读缓冲区,减少内存分配和复制 * `RSAKeyPair` 结构体的 `GenKeyPair`, `SetPublicKey`, `SetPrivateKey` 方法从无返回值改为返回 `error` * `Ed25519KeyPair` 结构体的 `GenKeyPair`, `SetPublicKey`, `SetPrivateKey` 方法从无返回值改为返回 `error` * `RSAKeyPair` 结构体增加 `FormatPublicKey` 和 `FormatPrivateKey` 方法,用于将 `base64` 编码的 `der` 格式的 `RSA` 公钥和私钥格式化成 `pem` 格式 * `Ed25519KeyPair` 结构体增加 `FormatPublicKey`和 `FormatPrivateKey` 方法,用于将 `base64` 编码的 `der` 格式的 `Ed25519` 公钥和私钥格式化成 `pem` 格式 * `RSAKeyPair` 结构体增加 `CompressPublicKey` 和 `CompressPrivateKey` 方法,用于将 `pem` 格式的 `RSA` 公钥和私钥压缩成经过 `base64` 编码的 `der` 格式 * `Ed25519KeyPair` 结构体增加 `CompressPublicKey`和 `CompressPrivateKey` 方法,用于将 `pem` 格式的 `Ed25519` 公钥和私钥压缩成经过 `base64` 编码的 `der` 格式 * 增加 `Sm2` 非对称椭圆曲线加密算法支持,包括标准处理和流式处理
最后提交信息为:
refactor(crypto): 更新SM2密钥对编解码函数名
v1.1.8
8b77d1e
2025-11-05 17:23
对比
v1.1.8
kuafuRace
## 更新内容 * [fix] 修复 `*RsaKeyPair.formatPublicKey` 和 `*RsaKeyPair.formatPrivateKey` 格式化密钥失败的 bug * [fix] 修复 `*Ed25519KeyPair.formatPublicKey` 和 `*Ed25519KeyPair.formatPrivateKey` 格式化密钥失败的 bug * [fix] 修复解密时对编码过的密文解码失败后无法获取错误的 bug * [chore] 对称分组加密算法中默认填充模式从 `PKCS7` 改为 `No` * [feat] 增加 `Unicode` 编码解码支持,包括标准处理和流式处理 * [feat] 对称分组加密算法增加 `TBC` 填充模式支持 **完整的更新日志**: https://gitee.com/dromara/dongle/compare/v1.1.7...v1.1.8
最后提交信息为:
refactor(crypto):重构RSA密钥对生成和加载逻辑
v1.1.7
52a14dd
2025-10-20 10:12
对比
v1.1.7
kuafuRace
## 更新内容 * [fix] 修复非对称数字签名算法中验签错误的 bug [#30](https://github.com/dromara/dongle/issues) * [chore] 优化流式处理逻辑,添加对 `reader` 位置重置的支持,确保从数据源的开头开始读取,避免因之前读取操作导致的位置偏移问题,保证流式操作的完整性和正确性 * [chore] `crypto/cipher/block.go` 中 `newXXXEncrypter` 和 `newXXXDecrypter` 系列私有方法更改成公开方法 `NewXXXEncrypter` 和 `NewXXXDecrypter` * [chore] `crypto/cipher/padding.go` 中 `newXXXPadding` 和 `newXXXUnPadding` 系列私有方法更改成公开方法 `NewXXXPadding` 和 `NewXXXUnPadding` * [feat] 增加 `sm4` 中国国家标准分组加密算法支持,包括标准处理和流式处理,支持不同分块模式和填充模式 **完整的更新日志**: https://gitee.com/dromara/dongle/compare/v1.1.6...v1.1.7
最后提交信息为:
refactor(utils): []byte("") -> []byte{}
v1.1.6
cc9e5b1
2025-10-12 09:25
对比
v1.1.6
kuafuRace
* [chore] 使用 `io.CopyBuffer` 简化流式处理逻辑 * [chore] 优化 `tea` 加密算法,支持不同分块模式和填充模式 * [feat] 增加 `xtea` 加密算法支持,包括标准处理和流式处理
最后提交信息为:
style: 统一方法注释风格
v1.1.5
1281302
2025-10-01 20:37
对比
v1.1.5
kuafuRace
[fix] 修复对称加密算法中对不需要填充的分组模式(如 CFB/OFB/CTR/GCM 等)进行填充时加解密错误的bug
最后提交信息为:
refactor(cipher): 优化加密和解密逻辑结构
v1.1.4
7994f28
2025-09-24 09:36
对比
v1.1.4
kuafuRace
## 更新内容 * [chore] 将方法接受者从指针改成值,防止出现使用全局默认实例时属性污染现象,调用方 `API` 没有任何影响 * [chore] 优化 `3DES` 对称加密算法对 `16` 字节密钥的兼容 * [chore] 优化 `DES` 对称加密算法对不支持的 `GCM` 模式的校验 * [chore] 优化 `3DES` 对称加密算法对不支持的 `GCM` 模式的校验 * [chore] 优化 `Blowfish` 对称加密算法对不支持的 `GCM` 模式的校验 * [chore] 更新 `testify` 依赖至 `v1.11.1` * [feat] 增加 `twofish` 加密算法支持,包括标准处理和流式处理 * [feat] 增加 `Salsa20` 加密算法支持,包括标准处理和流式处理 **完整的更新日志**: https://gitee.com/dromara/dongle/compare/v1.1.2...v1.1.4
最后提交信息为:
build(dongle): 更新版本号至 v1.1.4
v1.1.2
fd3d8da
2025-09-08 10:38
对比
v1.1.2
kuafuRace
* [refactor] 编码/解码支持通过 `coding.BufferSize` 全局变量自定义文件流缓冲区大小 * [refactor] 加密/解密支持通过 `crypto.BufferSize` 全局变量自定义文件流缓冲区大小 * [refactor] Hash/Hmac 算法支持通过 `hash.BufferSize` 全局变量自定义文件流缓冲区大小 * [feat] 增加 `Blake2b` 哈希算法支持,包括 `blake2b-256`、`blake2b-384` 和 `blake2b-512` * [feat] 增加 `Blake2s` 哈希算法支持,包括 `blake2s-128` 和 `blake2s-256` * [feat] 增加 `ChaCha20` 加密算法支持 * [feat] 增加 `ChaCha20Poly1305` 加密算法支持
最后提交信息为:
refactor(hash): 重构哈希模块并优化错误信息
v1.1.1
b1022a5
2025-09-01 09:43
对比
v1.1.1
kuafuRace
* [refactor] 对称加密算法从 `ByXXX(cipher.XXXCipher)` 改成 `ByXXX(*cipher.XXXCipher)` * [refactor] 将工具包名从 `utils` 改成 `util` * [refactor] 编码/解码、加密/解密、Hash/Hmac、签名/验签支持真正的流式处理 * [refactor] 当输入数据为空时,直接返回空数据而不执行后续操作 * [feat] 增加 `ED25519` 数字签名和验证支持 * [feat] 增加 `SM3` 哈希算法支持 * [feat] 增加 `mock/hash.go` 来模拟 `hash.Hash` 接口的错误 * [feat] `coding/morse/morse.go` 增加对空格、标点符号和特殊字符的支持
最后提交信息为:
build: 更新版本号至 1.1.1
v1.1.0
097f86c
2025-08-23 15:54
对比
v1.1.0
kuafuRace
> ⚠️ 这是一个破坏性更新版本,请慎重升级,但是强烈建议升级 * [refactor] 删除 `BySafeURL` 编码/解码方法 * [refactor] 删除 `Sm3` 哈希算法(`hash`)和消息认证码算法(`hmac`) * [refactor] 重命名 `ByBase64URL` 编码/解码方法为 `ByBase64Url` * [refactor] 哈希算法(`hash`)调用方式从 `dongle.Encrypt.ByXXX()` 改成 `dongle.Hash.ByXXX()` * [refactor] 消息认证码算法(`hmac`)调用方式从 `dongle.Encrypt.ByHmacXXX()` 改成 `dongle.Hash.WithKey().ByXXX()` * [refactor] 重构 `AES`, `DES`, `3DES`, `Blowfish` 等对称加密/解密方法,统一使用 `cipher.NewXXXCipher()` * [refactor] 重构 `RSA` 等非对称加密/解密方法,统一使用 `keypair.NewXXXKeyPair()` * [feat] 增加对 `文件流` 编码/解码、加密/解密、Hash/Hmac、签名/验签的支持 * [feat] 新增`ByBase32Hex` 编码/解码方法 * [feat] `base32/base32Hex` 编码增加对自定义字符集的支持 * [feat] `base45` 编码增加对自定义字符集的支持 * [feat] `base58` 编码增加对自定义字符集的支持 * [feat] `base62` 编码增加对自定义字符集的支持 * [feat] `base64/base64Url` 编码增加对自定义字符集的支持
最后提交信息为:
docs(readme): Update the README file in multiple languages
v1.0.1
090fe40
2024-11-22 15:34
对比
v1.0.1
kuafuRace
* 优化代码质量和组织结构 * 修复 `AES-CBC-PKCS5` 加密解密错误的 bug * `base62` 支持自定义编码表 * 删除 `errors.go` 文件,将错误信息迁移到各个文件里 * 统一单元测试格式 * 移除中文注释
最后提交信息为:
去掉无用的类型转换
v1.0.0
6252d2f
2024-11-11 16:35
对比
v1.0.0
kuafuRace
**完整的更新日志**: https://gitee.com/dromara/dongle/commits/v1.0.0
最后提交信息为:
修改徽章地址
v0.2.8
03e69e3
2023-02-05 19:27
对比
v0.2.8
kuafuRace
* `openssl` 包添加注释 * 新增 `openssl.RSA.FormatPublicKey()` 方法, 格式化公钥,添加头尾和换行符 * 新增 `openssl.RSA.FormatPrivateKey()` 方法, 格式化私钥,添加头尾和换行符 * 新增 `openssl.RSA.CompressKey()` 方法, 压缩密钥,去掉头尾和换行符
最后提交信息为:
添加在线网站链接
v0.2.7
ab2ae99
2023-02-01 10:27
对比
v0.2.7
kuafuRace
- 新增 openssl.RSA.GenPKCS1KeyPair() 方法,生成 PKCS#1 格式 RSA 密钥对 - 新增 openssl.RSA.GenPKCS8KeyPair() 方法,生成 PKCS#8 格式 RSA 密钥对 - 新增 openssl.RSA.VerifyKeyPair() 方法,验证 RSA 密钥对是否匹配 - 新增 openssl.RSA.IsPublicKey() 方法,判断是否是 RSA 公钥 - 新增 openssl.RSA.IsPrivateKey() 方法,判断是否是 RSA 私钥 - 新增 openssl.RSA.ParsePublicKey() 方法,解析 RSA 公钥 - 新增 openssl.RSA.ParsePrivateKey() 方法,解析 RSA 私钥 - 新增 openssl.RSA.ExportPublicKey() 方法,从 RSA 私钥里导出公钥
最后提交信息为:
去掉多余空格
v0.2.6
dfda995
2023-01-10 09:45
对比
v0.2.6
kuafuRace
- 增加对 `tea` 超长文本的加密、解密支持,如果加密明文超过 `8` 字节,进行空字符串填充分段加密 - 增加 `Empty` 空字符串填充模式的支持 - 更改 `github.com/tjfoc/gmsm/sm3` 为 `github.com/emmansun/gmsm/sm3` - 将 `encrypt` 方法从 `encrypter.go` 移动到 `cipher.go`, 将 `decrypt` 方法从 `decrypter.go` 移动到 `cipher.go` - 移除 `invalidTeaSrcError`、`invalidModeError` 和 `invalidPaddingError`
最后提交信息为:
len(s.src) == 0->len(s.src) == 0 || s.Error != nil
v0.2.5
a56e563
2023-01-04 22:09
对比
v0.2.5
kuafuRace
- 增加对 `rsa` 超长明文的私钥加密、公钥解密支持 - 将 `split()` 更名为 `bytesSplit()` 并从 `rsa.go` 移动到 `dongle/rsa.go` - 将 `invalidRsaHashError` 从 `errors.go` 移动到 `dongle/rsa.go` - 升级 golang.org/x/crypto 版本到 `v0.4.0` - 修复备注错误
最后提交信息为:
增加对 RSA 私钥加密、公钥解密的支持
v0.2.4
c9be676
2022-12-30 09:59
对比
v0.2.4
open-team
- 增加对 `base45` 编码、解码的支持 - 增加对 `blake2b-256`, `blake2b-384`, `blake2b-512` 哈希算法的支持 - 增加对 `blake2s-256` 哈希算法的支持 - 增加对超过 117 字节超长明文的 `rsa` 解密、解密支持
最后提交信息为:
修复备注错误
v0.2.3
933b826
2022-12-27 15:05
对比
v0.2.3
kuafuRace
- 增加对 `shake128` 哈希算法的支持 - 增加对 `shake256` 哈希算法的支持
最后提交信息为:
新增 ByShake128、ByShake256 哈希算法支持
v0.2.2
d4540d7
2022-12-15 10:58
对比
v0.2.2
open-team
- 增加对 `blowfish` 加密、解密的支持 - 增加对 `AnsiX923` and `ISO97971` 填充模式的支持 - 将 `encode.go` 重命名为 `encoder.go`, `decode.go` 重命名为 `decoder.go`, `encrypt.go` 重命名为 `encrypter.go`, `sign.go` 重命名为 `signer.go`, `verify.go `重命名为 `verifier.go` - 将 `isSupportedHash()` 重命名为 `(receiver).isRsaSupported()` - 将 `carbon.RAW` 重命名为 `carbon.Raw`, `carbon.HEX` 重命名为 `carbon.Hex`, `carbon.BASE64` 重命名为 `carbon.Base64`
最后提交信息为:
增加对 AnsiX923 和 ISO97971 填充模式的单元测试
下载
请输入验证码,防止盗链导致资源被占用
取消
下载
Go
1
https://gitee.com/dromara/dongle.git
git@gitee.com:dromara/dongle.git
dromara
dongle
dongle
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册