EncryptionFile发布v1.0.7版本,支持标准库cipher的全部3中加密算法接口

jan-bar · 2023-09-08 15:46:27 · 1199 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2023-09-08 15:46:27 的主题,其中的信息可能已经有所发展或是发生改变。

项目地址:https://github.com/jan-bar/EncryptionFile

之所以更新这一版,是因为有人觉得上个版本中只用到aes cfb这种流式加密算法不安全,他们希望用更安全的aes gcm加密方式。因此我看了go标准库支持cipher.AEAD,cipher.Stream,cipher.BlockMode这三种加密接口,因此这一版本直接支持这三种接口。用户还可以自定义加解密方案,只要是上面三种接口类型就可以实现数据安全加解密。

你也可以用我内置的 EncryptionFile.GenEncCipher,EncryptionFile.GenDecCipher 这两个方法轻松实现指定加密算法,如下所示。

当然你也可以自己写方法,只要实现cipher.AEAD,cipher.Stream,cipher.BlockMode这三种接口就行。

// an encryption scheme can be specified with the built-in method
// GenEncCipher(cipher.NewCFBEncrypter)
// GenEncCipher(cipher.NewCTR)
// GenEncCipher(cipher.NewOFB)
// GenEncCipher(cipher.NewCBCEncrypter)
// GenEncCipher(cipher.NewGCM)
EncData(Reader, Writer, pubKey, md5.New(), GenEncCipher(cipher.NewCFBEncrypter))

// an decryption scheme can be specified with the built-in method
// GenDecCipher(cipher.NewCFBDecrypter)
// GenDecCipher(cipher.NewCTR)
// GenDecCipher(cipher.NewOFB)
// GenDecCipher(cipher.NewCBCDecrypter)
// GenDecCipher(cipher.NewGCM)
DecData(Reader, Writer, priKey, md5.New(), GenDecCipher(cipher.NewCFBDecrypter))

可用学习单元测试 TestCipher,掌握这个库的用法。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1199 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传