对称与非对称算法等。常见的加密方式有
RSA
,
AES
等算法。对于选择加密算法,一个常识就是使用公开的算法。一方面是这些算法经过实践检验,另一方面对于破译难度和破译条件破译时间都有预估。对于任何加密算法,都是能破解的,不同在于时间上的投入。
Python良好的生态,对于加密解密技术都有成熟的第三方库。大名鼎鼎的
M2Crypto
和
Pycrypto
,前者非常容易使用,可是安装却非常头疼,不同的系统依赖软件的版本还有影响。后者则比较方面,直接使用pip安装即可。
RSA 密码算法与签名
RSA是一种公钥密码算法,RSA的密文是对代码明文的数字的
E
次方求mod
N
的结果。也就是将明文和自己做E次乘法,然后再将其结果除以 N 求余数,余数就是密文。RSA是一个简洁的加密算法。E 和 N 的组合就是
公钥
(
public key
)。
对于RSA的解密,即密文的数字的 D 次方求mod N 即可,即密文和自己做 D 次乘法,再对结果除以 N 求余数即可得到明文。D 和 N 的组合就是
私钥
(
private key
)。
算法的加密和解密还是很简单的,可是公钥和私钥的生成算法却不是随意的。本文在于使用,对生成 秘钥对 的算法就暂时忽略。使用 Pycrypto生成秘钥对很简单,我们分别为 Master和Ghost各生成一对属于自己的秘钥对。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69936350/viewspace-2649719/ ,如需转载,请注明出处,否则将追究法律责任。