python RSA 加密及解密
2023-02-04
TLDR
一般大家运行 python
,都是把 py
源码复制到目标环境中直接使用 python main.py
运行。这就带来一个问题,有些敏感信息也会暴漏到目标环境中,比如数据库连接字符串。那有没有什么办法解决这个问题?以下是我想想到的办法(欢迎补充):
编译
python
代码。
简单点的编译方式:使用python -O -m compileall -b .
编译成*.pyc
文件(*.pyc
文件其实也是可以反编译的,只不过麻烦了点 😂)。具体可参考 这篇文章
复杂一点,可以编译成*.pyd
、*.pyo
文件。这里就不展开了(跑题)使用
RSA
加密敏感信息。
查看源码请移步:RSA encryption and decryption
RSA
为什么能单向加密和解密?简单来讲,就是数学魔法吧。有兴趣自行查阅相关文章。我们只需要知道使用方法就行:
① 生成公钥私钥对
② 使用公钥加密信息
③ 使用私钥解密信息
因此,想要加密,只要公钥和需要加密的信息就行;想要解密,则只要私钥和需要解密的信息即可。所以,我们在目标环境中上传加密后的信息以及私钥就行。
当然,为了双重保险,一般都会在加密/解密过程中加入所谓的“盐”,即一些运行时变量,确保某些“中间人”获取了加密后的信息以及私钥后直接解密得到原始密码。
本文链接:
content_copy https://zxs66.github.io/2023/02/04/python-rsa-encryption-and-decryption/