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
摘要、更改、合集