hashlib(加盐)回炉练习
简介:
用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。
在python3中已经废弃了md5和sha模块,简单说明下md5和sha的使用。
什么是摘要算法呢?
摘要算法又称为哈希算法,散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)用于加密相关的操作。
只是写了简单的加盐思路
__author__ = 'ZHHT'
#!/usr/bin/env python
# -*- coding:utf-8 -*- import hashlib import random Salt_A = input("请输入你的用户名:")
Salt_B = str(random.randint(1,999))
Salt = Salt_A+Salt_B #不加盐的值
m = hashlib.md5()
m.update(bytes('abc',encoding='utf-8'))
print(m.hexdigest())
#结果:900150983cd24fb0d6963f7d28e17f72 #加盐的值
h = hashlib.md5(bytes(Salt,encoding='utf8'))
h.update(bytes('abc',encoding='utf-8'))
print(h.hexdigest())
#结果:3a002a8cc8d1e7414f1e6638e780da87
hashlib(加盐)回炉练习的更多相关文章
- hashlib模块-加密的模块,加盐
		1.MD5加密 md5加密是不可逆的 print(dir(m)) #把变量的方法打印出来 hashlib.md5:加密xx.hexdigest():返回密文xx.encode:将字符串转成二进制的,转 ... 
- 模块 -- 序列化  hashlib  sha  logging      (加密 加盐 )
		模块: 一个py文件就是一个模块 模块分类: 1:内置模块,登录模块,时间模块,sys模块,os模块等等 2: 扩展模块, 3:自定义模块,自己写的py文件 python 开发效率之高:python ... 
- hashlib 文件校验,MD5动态加盐返回加密后字符
		hashlib 文件校验 # for循环校验 import hashlib def check_md5(file): ret = hashlib.md5() with open(file, mode= ... 
- 日志模块详细介绍 hashlib模块 动态加盐
		目录 一:hashlib模块 二:logging 一:hashlib模块 加密: 将明文数据通过一系列算法变成密文数据(目的就是为了数据的安全) 能够做文件一系列校验 python的hashlib提供 ... 
- 消息摘要、哈希(hash)、加盐
		hashlib 算法介绍: python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度 ... 
- Python学习笔记(七)加密加盐
		MD5加密和加盐 Python的MD5加密 Python的hashlib模块的MD5加密,是比较简单一种加密,md5函数必须传入编译后的结果,否则会报错: Traceback (most recent ... 
- Flask_generate_password_hash的加盐哈希加密算法与check_password_hash的校验
		密码加密简介 密码存储的主要形式: 明文存储:肉眼就可以识别,没有任何安全性. 加密存储:通过一定的变换形式,使得密码原文不易被识别. 密码加密的几类方式: 明文转码加密算法:BASE64, 7BIT ... 
- 一种简单的md5加盐加密的方法(防止彩虹表撞库)
		md5加密(或者说摘要算法)大家都很熟悉了 就不解释了 现在很多数据库设计都喜欢用单向加密的方式保存密码,验证时对提交的密码再次加密之后做密文对比 /// <summary> 使用MD5加 ... 
- 加盐加密salt
		加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“(salt)的n位随机数相关联. 加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“( ... 
随机推荐
- poj1135Domino Effect——最短路
			题目:http://poj.org/problem?id=1135 先在图中跑一遍最短路,最后倒的牌可能是dis值最大的点,也可能是在dis值最大的点所连的边上,尝试一下即可: 坑:n=1的时候输出点 ... 
- C++ 创建文件的方法
			CString getPath(){ CTime time = CTime::GetCurrentTime(); CString t = time.Format(_T("%Y%m%d%H%M ... 
- 百度地图API的第一次接触——地图事件
			0.初始化地图 var map = new BMap.Map("container"); var point = new BMap.Point(116.404, 39.915); ... 
- 推荐几个Laravel 后台管理系统
			小编推荐几个Laravel 后台管理系统 由百牛信息技术bainiu.ltd整理发布于博客园 一.不容错过的Laravel后台管理扩展包 —— Voyager 简介Voyager是一个你不容错过的La ... 
- C++与UnrealScript脚本交互
			转自:http://m.blog.csdn.net/blog/qweewqpkn/39932499 一.c++调用uc脚本中的函数 举例: 1. 在脚本MenuManager.uc文件中实现函数: e ... 
- 获取iOS应用中当前处于Activity状态的ViewController
			转自:http://blog.csdn.net/lixuwen521/article/details/41447507 // 获取当前处于activity状态的view controller - (U ... 
- mysql5.5换成mysql8.0
			由于在建表钟发现有些语句就是录不进去,研究发现是因为5.5版本过低导致,就想换到5.7版本,结果一看8.0都出了,据官方说明8.0要比5系列快2倍网上,遂直接换成8.0了,不过这个过程真的心累. 1. ... 
- 0001_第一个测试小程序Login
			# -*- coding:utf-8 -*- user = raw_input("Username:") password = raw_input("Password:& ... 
- hdu 4336 Card Collector (概率dp+位运算 求期望)
			题目链接 Card Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ... 
- HTML5学习笔记(四)语义元素
			语义元素能够清楚的描述其意义给浏览器和开发者. 无语义 元素实例: <div> 和 <span> - 无需考虑内容. 语义元素实例: <form>, <tab ... 
