hashlib

hashlib模块用于加密相关的操作,代替了md5和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。

#!/usr/bin/env python
# coding=utf-8 import hashlib
obj = hashlib.md5()
obj.update(bytes('xiaoming235', encoding='utf-8'))
ret = obj.hexdigest()
# ret = obj.digest()
print(ret)

上面是没有加salt的md5,但有时候可以通过撞库反解,所以有必要对加密算法中添加salt。

#!/usr/bin/env python
# coding=utf-8 import hashlib
obj = hashlib.md5(bytes('my-salt', encoding='utf-8'))
obj.update(bytes('xiaoming235', encoding='utf-8')) ret = obj.hexdigest()
print(ret)

hmac

python内置还有一个hmac模块,内部实现了对我们创建salt和内容进行进一步处理后然后再加密。

import hmac

obj = hmac.new(bytes('', encoding='utf-8'))
obj.update(bytes('admin', encoding='utf-8'))
ret = obj.hexdigest()
print(ret)

hashlib和hmac的更多相关文章

  1. python 内置模块之hashlib、hmac、uuid

    一.hashlib md5和sha算法通过消息摘要算法生成定长的消息摘要,消息摘要算法是不可逆的.但同一段消息通过摘要算法后得到的值是一样的,可一通过比对消息摘要验证数据的完整性. sha算法比MD5 ...

  2. Python hashlib and hmac

    hashlib hashlib提供了常用的摘要算法:MD5, SHA1等等 摘要算法:也成哈希算法,散列算法.通过一个函数把任意长度的数据转换成一个长度固定的数据串.主要用在存储一些不能被修改和查看的 ...

  3. Python之数据加密与解密及相关操作(hashlib、hmac、random、base64、pycrypto)

    本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...

  4. hashlib 和 hmac

    import hashlib hash = hashlib.md5([bytes('SALT_STRING', encoding='utf-8’)]) #SALT_STRING :加盐 hash.up ...

  5. hash模块 hashlib 和hmac

    hashlib模块 用于加密相关的操作,代替md5模块和sha模块,主要提供SHA1,SHA224,SSHA256,SHA384,SHA512,MD5算法 直接看代码案例: ---------md5- ...

  6. python hashlib、hmac模块

    一.hashlib模块 import hashlib m = hashlib.md5() m.update(b"Hello") print(m.hexdigest()) m.upd ...

  7. day20 hashlib、hmac、subprocess、configparser模块

    hashlib模块:加密 import hashlib# 基本使用cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8'))print(cipher.h ...

  8. hashlib 和 hmac 算法的区别

    -----md5 = hashlib.md5() md5.update(password+salt) md5.hexdigest() ----- h = hmac.new(key,password,d ...

  9. hashlib、hmac

    #hashlib import hashlib#md5m = hashlib.md5()m.update(b"Hello")print(m.hexdigest()) #hexdig ...

  10. Python hashlib、hmac加密模块

    #用于加密的相关操作,3.x里代替了md5模块和sha模块,主要提供sha1,sha224,sha256,sha384,sha512,md5算法 #sha2为主流加密算法,md5加密方式不如sha2 ...

随机推荐

  1. C#简述(三)

    详细请参考:http://www.runoob.com/csharp/csharp-string.html 1.C# 字符串(String) 在 C# 中,可以使用字符数组来表示字符串,但是,更常见的 ...

  2. Docker(十七)-修改Docker容器启动配置参数

    有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1.Docker 命令修改 docker c ...

  3. 部分机器进入bios 的 方法

  4. 关于“Scrum敏捷项目管理”

    此次关于“Scrum”的名词解析,主要目的是为我们的“OneZero”团队确定项目开发的模式. http://www.cnblogs.com/taven/archive/2010/10/17/1853 ...

  5. element-ui upload组建上传 file-list踩过的坑

    昨天修完了一个上传组件删除时,图片删掉了,但是地址仍然在的bug,今天测试告诉我bug没休掉,what !,昨天修完之后我自测了一下,OK的好吗,但是测试给我演示了一下,问题仍然存在!!!我看了一下调 ...

  6. python自动化之爬虫模拟登录

    http://selenium-python.readthedocs.io/locating-elements.html ####################################### ...

  7. pgm5

    这部分讨论 inference 里面基本的问题,即计算 这类 query,这一般可以认为等价于计算 ,因为我们只需要重新 normalize 一下关于 的分布就得到了需要的值,特别是像 MAP 这类 ...

  8. tomcat Failed creating java C:\Program Files\Java\jre6\bin\client\jvm.dll %1 不是有效的 Win32 应用程序。

    jdk版本搞的鬼 请下载64位的jdkj进行安装

  9. 自动更新前加密:Clickonce用法

    一.加密dll 新建一个windows form application: static void Main(string[] args)         {             Process. ...

  10. oracle数据库连接池查看

    select username , count(*), machine from v$session where username is not null group by username, mac ...