项目地址: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,掌握这个库的用法。
有疑问加站长微信联系(非本文作者)
