python密码学各种加密模块教程
作者:菜鸟教程 发布时间:2021-03-10 05:32:55
标签:python,密码学,加密模块
在本章中,您将详细了解Python中各种加密模块.
加密模块
它包含所有配方和基元,并在Python中提供高级编码接口.您可以使用以下命令安装加密模块 :
pip install cryptography
代码
您可以使用以下代码实现加密模块 :
from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher_suite = Fernet(key)
cipher_text = cipher_suite.encrypt("This example is used to demonstrate cryptography module")
plain_text = cipher_suite.decrypt(cipher_text)
输出
上面给出的代码产生以下输出 :
此处给出的代码用于验证密码并创建其哈希值.
它还包括用于验证密码以进行身份验证的逻辑.
import uuid
import hashlib
def hash_password(password):
# uuid is used to generate a random number of the specified password
salt = uuid.uuid4().hex
return hashlib.sha256(salt.encode() + password.encode()).hexdigest() + ':' + salt
def check_password(hashed_password, user_password):
password, salt = hashed_password.split(':')
return password == hashlib.sha256(salt.encode() + user_password.encode()).hexdigest()
new_pass = input('Please enter a password: ')
hashed_password = hash_password(new_pass)
print('The string to store in the db is: ' + hashed_password)
old_pass = input('Now please enter the password again to check: ')
if check_password(hashed_password, old_pass):
print('You entered the right password')
else:
print('Passwords do not match')
输出
场景1 : 如果您输入了正确的密码,您可以找到以下输出 :
情景2 : 如果我们输入错误的密码,您可以找到以下输出 :
说明
Hashlib 包用于在数据库中存储密码.在此程序中,使用 salt ,在实现哈希函数之前,将随机序列添加到密码字符串中.
来源:https://www.it1352.com/OnLineTutorial/cryptography_with_python/cryptography_with_python_modules_of_cryptography.html
0
投稿
猜你喜欢
- 使用pip安装Django时报错,先是:C:\Users\admin>pip install django Collecting dj
- 如题,先上效果图:主要分为两大步骤使用python语句,通过百度地图API,对已知的地名抓取经纬度使用百度地图API官网的html例程,修改
- 一、BN(Batch Normalization)算法1. 对数据进行归一化处理的重要性神经网络学习过程的本质就是学习数据分布,在训练数据与
- 1、除法相关在python3之前,print 13/4 #result=3然而在这之后,却变了!print(13 / 4) #r
- 本文是小编针对JS删除数组里的某个元素这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容:删除数组指定
- 哈喽兄弟们,今天来分享一下,Python初学者必须要学会的技能,Python进行debug操作。本文用的测试代码:from torchvis
- 在MySQL中,对于索引的使用并是一直都采用正确的决定。简单表的示例:CREATE TABLE `r2` (ID` int(11) DEFA
- 训练的时候内存一直在增加,最后内存爆满,被迫中断。后来换了一个电脑发现还是这样,考虑是代码的问题。检查才发现我的代码两次存了loss,只有一
- 一、文章概述本文将要讲述的是Python环境下如何用OpenCV检测人脸,本文的主要内容分为:1、检测图片中的人脸2、实时检测视频中出现的人
- 记住:这时候08安装的时候要自定义一个实例 比如:mysql2008(不能在使用默认实例了) sql server 2008 express
- List:1. 什么叫商品评论?2. 评论体系的存在意义3. 评论体系的现状4. 都有哪些元素5. 该如何设计?6. 评论体系之外1.什么叫
- 一、前期准备1.设置GPUimport torchfrom torch import nnimport torchvisionfrom to
- 今天突然想起做一个当鼠标经过<a/>时,会发出声音Js代码如下: <script type="text
- 1、函数实现# -*- coding: utf-8 -*-def tail(filename, n=10): with open
- 决策树原理:从数据集中找出决定性的特征对数据集进行迭代划分,直到某个分支下的数据都属于同一类型,或者已经遍历了所有划分数据集的特征,停止决策
- 这篇文章主要介绍了Python globals()和locals()对比详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 【原文地址】 Recipe: Deploying a SQL Database to a Remote Hosting Environmen
- 在业务稳定性要求比较高的情况下,运维为能及时发现问题,有时需要对应用程序的日志进行实时分析,当符合某个条件时就立刻报警,而不是被动等待出问题
- mmh3安装方法哈希方法主要有MD、SHA、Murmur、CityHash、MAC等几种方法。mmh3全程murmurhash3,是一种非加
- 本文实例讲述了Python面向对象之接口、抽象类与多态。分享给大家供大家参考,具体如下:接口类继承有两种用途:一:继承基类的方法,并且做出自