python-加密解密

24次阅读

共计 1705 个字符,预计需要花费 5 分钟才能阅读完成。

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-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)

更多技术资讯可关注:gzitcast

正文完
 0