python能加密吗_python加密解密

Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待

4999元包邮

去购买 >

iphone.jpg

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

原文链接:https://segmentfault.com/a/1190000020295803

jd_dn250.png

jd_sj250.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值