`dongle` 是一个轻量级、语义化、对开发者友好的 Golang 密码库,`100%` 单元测试覆盖率,已被 [awesome-go](https://github.com/avelino/awesome-go#security "awesome-go") 收录,并获得 [gitee](https://gitee.com "gitee") 2024 年最有价值项目([GVP](https://gitee.com/gcp "GVP"))和 [gitcode](https://gitcode.com "gitcode") 2024 年度 [G-Star](https://gitcode.com/g-star "G-Star") 项目,如果您觉得不错,请给个 star 吧


docs: [dongle.go-pkg.com](https://dongle.go-pkg.com/zh "dongle.go-pkg.com")
playground : [tools.go-pkg.com](https://tools.go-pkg.com "tools.go-pkg.com")
github:[github.com/dromara/dongle](https://github.com/dromara/dongle "github.com/dromara/dongle")
gitee: [gitee.com/dromara/dongle](https://gitee.com/dromara/dongle "gitee.com/dromara/dongle")
gitcode: [gitcode.com/dromara/dongle](https://gitcode.com/dromara/dongle "gitcode.com/dromara/dongle")
**更新日志**
* 移除 `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` 非对称椭圆曲线加密算法支持,包括标准处理和流式处理
有疑问加站长微信联系(非本文作者)
