1base64
Python内置的base64模块可以实现base64、base32、base16、base85、urlsafe_base64的编码解码,python 3.x通常输入输出都是二进制形式,2.x可以是字符串形式。
base64模块的base64编码、解码调用了binascii模块,binascii模块中的b2a_base64()函数用于base64编码,binascii模块中的a2b_base64()函数用于base64解码。
import base64 s = 'hello, world' base64.b64encode(bytes(s, 'ascii')) b'aGVsbG8sIHdvcmxk' base64.b64decode(base64.b64encode(bytes(s, 'ascii'))) b'hello, world'
2.md5
Python2.x中有md5模块,此模块调用了hashlib模块,python3.x已中将md5取掉,直接通过调用hashlib模块来进行md5。Python2.x可以直接使用unicode字符,但3.x中必须使用二进制字节串。
import hashlib m = hashlib.md5() m.update(b'hello, world!') m.hexdigest() '3adbbad1791fbae3ec908894c4963870'
3.sha1
类似于MD5
import hashlib m = hashlib.sha1() m.update(b'hello, world!') m.hexdigest() '1f09d30c707d53f3d16c530dd73d70a6ce7596a9'
4.crc32
计算指定内容的crc32校验值,可以用zlib以及binascii模块的crc32函数.
import zlib import binascii s = b'hello, world!' zlib.crc32(s) 1486392595 binascii.crc32(s) 1486392595
ps:下面看下Python之加密模块
hashlib模块
"color: #ff0000">一、加密步骤
1、字符串先转成二进制类型
使用.encode()方法转成二进制类型
import hashlib password='123456' print(password.encode())#字符串不能直接加密,要先转成二进制类型的才可以加密 #结果为:b'123456'
2、使用加密方法
使用.hexdigest()方法输出加密后内容
import hashlib password='123456' m=hashlib.md5(password.encode()) #先转成二进制,再加密 #print(dir(m)) #由于这个加密模块pycharm提供不了提示方法,所以如果想知道都有什么方法,可以使用内置函数dir(),使用这条语句就能打印出所有方法了 print(m.hexdigest())
3、打印加密后的内容
使用dir()内置函数显示该变量的所有方法
由于该模块pycharm无法提供提示方法,即输入m“.”不出来方法,所以可以使用内置函数dir(),将所有方法打印出来。
#print(dir(m)) #由于这个加密模块pycharm提供不了提示方法,所以如果想知道都有什么方法,可以使用内置函数dir(),使用这条语句就能打印出所有方法了 print(m.hexdigest())
二、加密相关
1、检验加密结果
"htmlcode">
m=hashlib.sha1(password.encode())#不同的加密方式 m=hashlib.sha224(password.encode()) #不同的加密方式 m=hashlib.sha256(password.encode()) #不同的加密方式
三、加盐
原理:
如果要对password=123456加密,这个明文密码太简单,容易撞库解密,所以在123456之后随机加一个字符串,比如abc,这样实际是对123456abc进行加密,如果不知道abc这个字符串,反解的可能性降低,安全性更高。这样的一个字符串就叫做盐。
四、实际应用
#实现加密:传入一个值,如果有盐值,则加盐加密;否则直接加密 def my_md5(s:str,salt=None): s=str(s) if salt: s=s+salt m=hashlib.md5(s.encode()) return m.hexdigest()
总结
以上所述是小编给大家介绍的python的一些加密方法及python 加密模块 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 老头杯第二届规则是什么 英雄联盟老头杯第二届规则介绍
- 王崴-爵士听堂.蓝色波萨(HQCD)[WAV+CUE]
- 群星《欧美动听情歌·柔情第5季》2CD【DTS-WAV分轨】
- [极品珍藏]德意志进行曲集卡拉扬SACD[WAV+CUE]
- 前暴雪制作人呼吁反击DEI 玩家:夺回文化!
- 腾讯证实子公司Sharkmob大规模裁员:整个市场很低迷
- 荣耀加冕 问鼎冠军 中国代表队获第四届东亚电竞锦标赛团体总冠军
- 污甩乐队.2024-Let.the.dirt.left【摩登天空】【FLAC分轨】
- 杜德伟.1994-ALL.FOR.YOU(英)【滚石】【WAV+CUE】
- 群星.2013-百代好声音ADMSCD1【EMI百代】【WAV+CUE】
- 群星《私人音乐精选示范碟》PRIVATEMUSIC 发烧唱片名碟[WAV+CUE][1.1G]
- 山口百惠《あなたへの子守唄》日本索尼钢刻字首版[WAV分轨][1.1G]
- 群星《宝丽金20周年特别发烧版》1:1母盘直刻限量编号[低速原抓WAV+CUE][1G]
- 凤飞飞.1984-仲夏(夏艳)[WAV]
- 常安《民歌红·江南燕》DTS-ES6.1[WAV]