接口加密和破解

1、使用base64模块来加密破解。

Base64编码,64指A-Z、a-z、0-9、+和/这64个字符,还有“=”号不属于编码字符,而是填充字符。这个编码的原理很简单,“破解”也很容易

优点:方法简单

缺点:不保险,别人拿到密文可以自己解密出明文

编码原理:将3个字节转换成4个字节((3 X 8)=24=(4X6)),先读入3个字节,每读一个字节,左移8位,再右移四次,每次6位,这样就有4个字节了。
解码原理:将4个字节转换成3个字节,先读入4个6位(用或运算),每次左移6位,再右移3次,每次8位,这样就还原了。

s1 = base64.encodestring('hello world')

s2 = base64.decodestring(s1)

print (s1, s2)

这样我们会报错,而且encodestring还会给画上黑线,看下面的情况:

就是现在我运用时经过更改就是这样了,

下面这个是用base64加密:

下面是运用这个方法进行解密,解密出来的密码:

base64的还提供用于url的编码方法urlsafe_b64encode 和urlsafe_b64decode.

请看大屏幕:

由于=字符也可能出现在Base64编码中,但=用在URL Cookie里面会造成歧义,很多Base64编码后会把=去掉.去掉=后怎么解码呢?因为Base64是把3个字节变为4个字节,所以Base64编码的长度永远是4的倍数.因此需要加上=把Base64字符串的长度变为4的倍数,就可以正常解码了.

我在这在说点StringIO这个模块,它是一个覆盖的模块。

推存网址:

http://www.cnblogs.com/kaituorensheng/p/4501128.html

https://segmentfault.com/q/1010000006057954

http://www.jb51.net/article/87782.htm

摘要、更改、合集

原文地址:https://www.cnblogs.com/lianghongrui/p/7066872.html