第一次玩跨平台加密,做个笔记以防以后忘记。如果可以帮助到更多人,那是我的意愿。祝所有程序猿安康。资深2年程序猿。
言归正传
查阅资料,Rsa有很多种版本。crytpo是个很已经停止更新的版本了(上次发布: 2014年2月22日)
python官方 PyPI链接https://pypi.org/project/rsa/3.1.4/
但令人开心的是有个新的 加密库与crytpo的使用方法大致相同。
本次主要详细记录使用3天的经验只谈,本猿几乎踩到了全部的坑。可以在笔记中找到解决方案。
我可能有点啰嗦了哈。但是本猿是想将所有的经验"全部分享"开所以请谅解。
来了 他真的来了:
M2Crypto库中有很多中方法可以在使用 pycharm时找到:读取公/私钥也有不同所以遇到读取密钥的问题可以尝试换一个读取方法。填充方式也是有3中分别是(pkcs1_PADDING,pkcs1_oape_PADDING,ssLv23_PADDING)
在加载密钥时一定要注意 密钥文件的格式
读取公钥要使用 "-----BEGIN PUBLIC KEY-----\n" + public + "\n-----END PUBLIC KEY-----" 也可以直接写入文件内。
读取私钥也是类似"-----BEGIN PRIVATE KEY-----\n" + private + "\n-----END PRIVATE KEY-----"
小二我要点菜,给我来一道 rsa代码。
初始化导入 公钥私钥
考虑到加密的数据比较 len()比较长 所以需要分段加密。 如果保证加密对象绝对在 要求范围内可以选择不进行分段加密。
!!!!!!!!!!注意: 进行分段加密一定要与对接方 协同好 不然永远解不开
解密也是一样,