 
      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/