分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
推荐xmind库的帖子:https://studygolang.com/topics/16634
既然这么多人喜欢,我把这个库也发出来吧,顺道优化之前的代码
安全数据加解密仓库:https://github.com/jan-bar/EncryptionFile
仓库名字感觉不太合适了,最早我也是用来加解密文件的,后来支持更通用的`io.Reader`和`io.Writer`了,不过项目名也懒得改了
函数签名如下
```go
// EncData
// @Description: 加密数据
// @param r 数据来源读出流
// @param w 加密数据写入流
// @param pubKey 公钥数据
// @param h 指定hash校验方法
// <a href="/user/return" title="@return">@return</a> error 返回错误
func EncData(r io.Reader, w io.Writer, pubKey []byte, h hash.Hash) error
// DecData
// @Description: 解密数据
// @param r 密文数据读入流
// @param w 解密后数据写入流
// @param priKey 私钥数据
// @param h 指定hash校验方法
// <a href="/user/return" title="@return">@return</a> error 返回错误
func DecData(r io.Reader, w io.Writer, priKey []byte, h hash.Hash) error
// GenRsaKey
//
// @Description: 生成rsa公私钥对
// @param bits 生成位数
// @param pub 公钥写入流
// @param pri 私钥写入流
// <a href="/user/return" title="@return">@return</a> error 返回错误
func GenRsaKey(bits int, pub, pri io.Writer) error
```
加密后数据内容结构如下,任何一个字节的改动解密都会失败,没有私钥甚至都没法穷举aes秘钥的方式解密

有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1428 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传