加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python 加密解密

发布时间:2020-12-20 10:48:24 所属栏目:Python 来源:网络整理
导读:MD5 import hashlib c = raw_input(‘输入字符:‘)? ?#python3为input ? ?b = hashlib.md5() b.update(c.encode(encoding=‘utf-8‘)) print (‘MD5加密前:‘+ c) print (‘MD5加密后:‘+b.hexdigest()) Base64 ? ? import base64 #base64加密 ? ?? ? prin

MD5
  import hashlib
  c = raw_input(‘输入字符:‘)? ?#python3为input
? ?b = hashlib.md5()
  b.update(c.encode(encoding=‘utf-8‘))
  print (‘MD5加密前:‘+ c)
  print (‘MD5加密后:‘+b.hexdigest())



Base64
  ? ?import base64
#base64加密
? ?? ? print base64.b64encode("aaa")
? ?? ? #base64加密
  print base64.b64decode("YWFh")


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-1160位,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 binasciia=bin(int.from_bytes(‘hello‘.encode(),‘big‘))print (a)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读