zoukankan      html  css  js  c++  java
  • 接口加密和破解

    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

    摘要、更改、合集

  • 相关阅读:
    java 28
    java 28
    java 27
    java 27
    java 27
    java 27
    java 27
    java 27
    java 27
    java 27
  • 原文地址:https://www.cnblogs.com/lianghongrui/p/7066872.html
Copyright © 2011-2022 走看看