如何在Python中做Hash加密

如何在Python中做Hash加密

在这篇文章中,我们将了解如何在python中进行密码散列。

一个强大的密码可以提供安全。纯文本密码是非常不安全的,所以我们需要通过散列密码来加强密码。哈希密码是一种廉价而安全的方法,可以使密码不受恶意活动的影响。密码散列为每个文本生成一个独特的密码,即使明文密码是相同的。

为什么我们需要Hash加密?

哈希主要用于保护密码不被黑客入侵。假设,如果一个网站被黑,网络犯罪分子不会获得你的密码。相反,他们只是获得了通过散列方法创建的加密 “散列”。

什么是Hash中的salt?

在密码学中,salt是随机数据,作为单向函数的额外输入,用于加密数据,如密码。盐被用来保持密码在存储时的安全性。从历史上看,一个系统中只有密码的加密散列函数被维护,但随着时间的推移,人们开发了额外的预防措施,以防止识别重复的或普通的密码。其中一个预防措施就是加盐。

如何在Python中哈希密码

加密。加密是对纯文本或任何信息进行编码的过程,只有被授权的人才能用相应的密钥来阅读,这样就可以保护机密数据不被未经授权的人获取。

散列:散列将任何数量的数据转换为一个固定长度的散列,不能被逆转。它在密码学中被广泛使用。散列允许我们验证输入是否有轻微的变化,如果它被改变,产生的散列将是不同的。在这篇文章中,我们将学习盐化密码哈希技术。它包括转换一种算法,将任何大小的数据映射到一个固定的长度。

什么是BCrypt?

BCrypt算法是用来以安全的方式对密码进行散列和加盐。BCrypt能够创建一个密码保护层,可以发展本地硬件创新,以防止长期的危害或威胁,如攻击者有计算能力来猜测密码的两倍效率。

用pip安装bcrypt。

 pip install bcrypt

例子。在这个程序中,我们将使用bcrypt对密码进行散列。

这里我们使用 “GeekPassword “作为输入,将其转换为哈希值。

import bcrypt
  
# Declaring our password
password = b'GeekPassword'
  
# Adding the salt to password
salt = bcrypt.gensalt()
# Hashing the password
hashed = bcrypt.hashpw(password, salt)
  
# printing the salt
print("Salt :")
print(salt)
  
# printing the hashed
print("Hashed")
print(hashed)

输出:

如何在Python中哈希密码

什么是Hashlib?

Python hashlib模块是一个方便对消息进行散列的接口。它包含许多方法,可以处理将任何原始信息散列成加密格式。这个模块的主要目的是在一个字符串上使用哈希函数,并对其进行加密,这样就很难解密了。哈希库。它用于创建一个哈希表。散列表是一种数据结构,旨在通过一组条目进行搜索,每个条目都由一个唯一的密钥来识别。

用pip安装hashlib。

pip install hashlib

例2:在这个程序中,我们将使用hashlib对密码进行散列。

这里我们使用 “GeekPassword “作为输入,将其转换为哈希值。

import hashlib
  
# Declaring Password
password = 'GeeksPassword'
# adding 5gz as password
salt = "5gz"
  
# Adding salt at the last of the password
dataBase_password = password+salt
# Encoding the password
hashed = hashlib.md5(dataBase_password.encode())
  
# Printing the Hash
print(hashed.hexdigest())

输出:

如何在Python中哈希密码

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程