zoukankan      html  css  js  c++  java
  • python 加密解密

    MD5

      import hashlib

      a = raw_input('输入加密的字符:')   #python3为input

       b = hashlib.md5()

      b.update(a.encode(encoding='utf-8'))

      print ('MD5加密前:'+ a)
      print ('MD5加密后:'+b.hexdigest())

     Base64

      import base64

      print base64.b64encode("aaa") #base64加密
      print base64.b64decode("YWFh") #base64解密

    Base32

      

      import base64
      print base32.b32encode('aa') #base32加密
      print base32.b32decode('MFQWC===') #base64解密

    SHA1

    import hashlib
    a=raw_input('请输入要加密的字符:')
    b = hashlib.sha1()
    b.update(a.encode(encoding='utf-8'))
    print('SHA1加密前:'+a)
    print ('SHA1加密后:'+b.hexdigest())

          特注:

            SHA1与MD5都是摘要算法,且为不可逆算法;
            应用角度来讲,适用性比安全性重要,两个算法长度有所不同,SHA-1 160位,MD5 128位。
    凯撒解密
        
     
    a = "ci^dxebiile^`hbozs" // 使用凯撒加密后的字符

            for i in a:
              print (chr (ord(i)+3),end="")    //  chr函数:chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

                           //  ord函数 :ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值

                          //  因为知道偏移量为3  所有+3  end=“” 是为了是字符在一行。不加就会一个字符一行。

            

    二进制转换ASCII

    import binascii
    a= int ('011011110011100001000100011011000111100001001011001010110100100000111000011101110111001101101001010110000110010100101111010001010101001001000110011100000100000101001101011000010100001001010000011010010100100101100011011010100011000101110011010010000111100101000111010011110100110101101101010100010100010001101011010010110010101101110101010110000111001101010110010110100110011101110010011001010011010101000100010100110101100001110111001111010011110101101000011010000110100001101000011010000110100001101000011010000110100001101000011010000110100001101000011010000110100001101000',2)
     print (a.to_bytes((a.bit_length()+7)//8, 'big').decode())

      

    ASCII转换二进制

    import binascii
    a=bin(int.from_bytes('hello'.encode(),'big'))
     print (a)

  • 相关阅读:
    小米、华为与联想,背后隐含的三种模式(转)
    怎样使用jstack诊断Java应用程序故障(转)
    多线程中的死锁举例与分析(转)
    log4j的性能瓶颈定位与性能优化(org.apache.log4j.spi.RootLogger) (转)
    一个与Log4j相关的死锁(转)
    怎样取消shutdown关机命令?-shutdown命令的使用解析
    对软件体系结构的认识
    39个让你受益的HTML5教程
    5大AR应用窥探移动未来~你见过吗?
    Response.AddHeader使用实例
  • 原文地址:https://www.cnblogs.com/pangya/p/8809622.html
Copyright © 2011-2022 走看看