uu 们,如何用 Python 或者 go 语言使用 rsa 算法实现对于文件的加密和解密

2023-12-16 13:15:05 +08:00
 hytirrb

uu 们,如何用 python 或者 go 语言实现对于文件的加密和解密,有啥推荐教程嘛,就是比较入门的那种,对于普通文件那么加密整个文件,对于视频文件可以使用对称密钥加密视频,然后使用 rsa 算法对程序进行加密和解密

2284 次点击
所在节点    程序员
11 条回复
SunsetShimmer
2023-12-16 13:24:27 +08:00
调库就可以了吧 https://pypi.org/project/pycryptodome/

如果只想用一个密码来加密,没必要用非对称吧?
DefoliationM
2023-12-16 13:37:37 +08:00
非对称加密只能加密长度较短的东西,所以一般只用来签名,大型文件还是对称加密吧,可以稍微了解一点密码学相关的知识。
mohumohu
2023-12-16 14:03:30 +08:00
非对称加密一般用于交换传输对称密钥,而实际内容加密一般是对称的,比如 aes 。
body007
2023-12-16 16:33:39 +08:00
推荐: https://github.com/jan-bar/EncryptionFile

你只需要保存好私钥不要泄露就行,公钥加密文件,私钥解密文件。
hytirrb
2023-12-16 16:48:48 +08:00
好好好,谢谢各位 uu 们
hytirrb
2023-12-16 17:20:39 +08:00
@body007 谢谢 uu 哈
kenvix
2023-12-16 19:07:53 +08:00
非对称加密最好使用混合加密的方式实现。也就是每个文件的文件本体采用对称加密,对称加密的密钥每次都是随机的。再使用非对称加密保护密钥。


@DefoliationM 混合加密就行了
1145148964
2023-12-16 19:10:13 +08:00
bitlocker
neoblackcap
2023-12-17 00:36:30 +08:00
非对称的加解密成本高,一般不会对较长的数据进行加密。一般都是非对称加密对称加密过程的密钥,然后明文再通过对称加密,并传输。
实际上你这个流程,有点像 TLS/SSL ,如果需要进行网络传输的话,优先使用这些方式,而不是自己重新实现。
CEBBCAT
2023-12-17 02:04:11 +08:00
提问前最好问一下 GPT ,同时英文 Google 一下,找不到答案再发帖
humbass
2023-12-18 01:28:38 +08:00
重点就是将磁盘上的文件以流的形势读出,然后 RSA 后写入磁盘。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1000900

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX