Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python实现PBKDF2_SHA256加密密码

Python实现PBKDF2_SHA256加密密码

作者头像
超级小的大杯柠檬水
发布于 2024-12-06 00:35:11
发布于 2024-12-06 00:35:11
30706
代码可运行
举报
文章被收录于专栏:CYCY
运行总次数:6
代码可运行

加密保存格式:pbkdf2_sha256迭代次数哈希值 admin可能的结果:pbkdf2_sha25610000yzsusUJwrGfonw+ZzVxlnA==vgf/OgLf5C4wtQLtfNY9d68H+hxgv8eqZ0mwfxCqqeU=

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import  os
import  hashlib
import  base64
def password_encrypt(password, salt=None, iterations=10000):
    """
    密码加密:PBKDF2_SHA256加密
    加密格式:pbkdf2_sha256$迭代次数$盐$哈希值
    admin可能的结果:pbkdf2_sha256$10000$yzsusUJwrGfonw+ZzVxlnA==$vgf/OgLf5C4wtQLtfNY9d68H+hxgv8eqZ0mwfxCqqeU=
    """
    # 生成随机盐
    # 生成 16 字节的随机盐,并编码为 Base64 字符串
    salt = salt or base64.b64encode(os.urandom(16)).decode('utf-8')
    # 使用 PBKDF2-SHA256 算法生成哈希值
    hash_object = hashlib.pbkdf2_hmac('sha256', password.encode(), salt.encode(), iterations)
    # 将哈希值编码为 Base64 字符串
    hash_value_b64 = base64.b64encode(hash_object).decode('utf-8')
    # 构造加密字符串
    encrypted_string = f'pbkdf2_sha256${iterations}${salt}${hash_value_b64}'
    return encrypted_string

def password_verify(self, password, encrypted_string):
    """
    密码验证:PBKDF2_SHA256加密
    """
    iterations,salt, hash_value_b64 = encrypted_string.split('$')[-3:]
    return self.password_encrypt(password, salt,int(iterations)) == encrypted_string
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
在 Python 中隐藏和加密密码?
在当前的数字时代,安全至关重要。在我们作为开发人员的工作中,我们经常处理密码等机密数据。必须使用正确的密码加密和隐藏方法来保护这些敏感数据。Python 中许多可访问的技术和模块可以帮助我们实现这一目标。通过对可用实现的基本思想和示例的解释,本文研究了在 Python 中隐藏和加密密码的最佳技术和方法。
很酷的站长
2023/08/11
9720
在 Python 中隐藏和加密密码?
密码机制
djeqtdyy-joao-silas 今天主要是介绍的内容是,一般网站,或应用,在用户注册后,用户的密码如何保存在数据库中,当然,肯定不是明文的.只有当事人知道自己的密码,就连后台管理员也不知道,这也就是为什么,你忘记密码后,必须通过其他认证身份后,重新修改密码 数据在网络上传输,要解决以下问题: 机密性 完整性 认证 抗否认性 下面,我用比较直白的话介绍一下上面的具体内容: 机密性: 就是数据在网络上,别人不能直接看到,比如,我发一张裸照,就不会让你直接看到,会加密编码成不能直接查看的内容. 机密性
若与
2018/04/25
1.1K0
密码机制
如何在Python中实现安全的密码存储与验证
在现代互联网时代,安全性已经成为一个非常重要的问题。在我们的日常生活中,我们会使用许多网站和应用程序,而这些网站和应用程序通常要求我们提供密码来保护我们的个人信息。然而,密码泄露事件时有发生,我们经常听到关于黑客攻击和数据泄露的新闻。那么,如何在Python中实现安全的密码存储与验证呢?本文将向你介绍一些实际的操作和技术。
华科云商小徐
2023/09/27
2.3K0
【爬虫知识】爬虫常见加密解密算法
本文总结了在爬虫中常见的各种加密算法、编码算法的原理、在 JavaScript 中和 Python 中的基本实现方法,遇到 JS 加密的时候可以快速还原加密过程,有的网站在加密的过程中可能还经过了其他处理,但是大致的方法是一样的。
K哥爬虫
2021/08/03
8.7K0
【爬虫知识】爬虫常见加密解密算法
Python的RSA加密和PBE加密
最近在写接口的时候,遇到了需要使用RSA加密和PBE加密的情况,对方公司提供的DEMO都是JAVA的,我需要用python来实现。 在网上搜了一下,python的RSA加密这块写的还是比较多的,但是PBE较少。所以我就讲讲我在RSA加密上面遇到的坑,大家权当一乐。PBE加密里面的盐、密钥。
py3study
2020/01/06
1.8K0
Django 自带密码加密,自定密码加密方式 及自定义验证方式
在django1.6中,默认的加密方式是pbkdf_sha256,具体算法不表,一直以来用django的自带用户验证都十分顺手,今天有需求,需要修改默认加密方式为md5,具体方法为: 在settings.py中加入 PASSWORD_HASHERS = (   'myproject.hashers.MyMD5PasswordHasher',   'django.contrib.auth.hashers.MD5PasswordHasher',   'django.contrib.auth.hash
用户1214487
2018/01/24
4.6K0
加密,各种加密,耙梳加密算法(Encryption)种类以及开发场景中的运用(Python3.10)
    不用说火爆一时,全网热议的Web3.0区块链技术,也不必说诸如微信支付、支付宝支付等人们几乎每天都要使用的线上支付业务,单是一个简简单单的注册/登录功能,也和加密技术脱不了干系,本次我们耙梳各种经典的加密算法,试图描摹加密算法在开发场景中的运用技巧。
用户9127725
2023/03/01
7100
加密,各种加密,耙梳加密算法(Encryption)种类以及开发场景中的运用(Python3.10)
面试官:你们是如何在数据库中存储密码?
张总:“你好,小王。我看到你在简历中提到对密码安全有一些了解。你能简单说说,当我们要存储用户密码时,应该采取哪些措施吗?”
不惑
2024/09/12
8560
面试官:你们是如何在数据库中存储密码?
网络安全&密码学—python中的各种加密算法
数据加密是一种保护数据安全的技术,通过将数据(明文)转换为不易被未经授权的人理解的形式(密文),以防止数据泄露、篡改或滥用。加密后的数据(密文)可以通过解密过程恢复成原始数据(明文)。数据加密的核心是密码学,它是研究密码系统或通信安全的一门学科,包括密码编码学和密码分析学。
小羽网安
2024/07/02
6760
网络安全&密码学—python中的各种加密算法
常见的加密方式之python实现
编码与解码 通常所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。将字符串和Bytes互相转换可以使用encode()和decode()方法。
MIKE笔记
2023/03/23
1.5K0
常见的加密方式之python实现
网站密码存储方案比较
为了对用户负责,用户密码采用不可逆算法的时候,我们就要考虑一下如何对用户密码进行加密。那么仅仅是使用不可逆算法就行了吗?还不是,在硬件飞速发展的今天,尤其是GPU运算能力超CPU 10-20倍甚至更多,使得暴力破解的时间大大缩短。那么为了使得暴力破解变得几乎不可能,我们就要使用一些不支持GPU加速破解的算法。这里所说的算法,实际上也是各种加密的hash方式。
EltonZheng
2021/01/22
1.6K0
python模块之hashlib
hashlib模块实现了多种安全哈希和信息摘要算法的通用接口,包括FIPS中定义的SHA1, SHA224, SHA256, SHA384, SHA512以及RFC 1321中定义的MD5
py3study
2020/01/06
8370
python实现AES/DES/RSA/MD5/SM2/SM4/3DES加密算法模板汇总
都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy
小小咸鱼YwY
2020/11/24
5K0
密码学系列之:bcrypt加密算法详解
今天要给大家介绍的一种加密算法叫做bcrypt, bcrypt是由Niels Provos和David Mazières设计的密码哈希函数,他是基于Blowfish密码而来的,并于1999年在USENIX上提出。
程序那些事
2021/09/16
1.4K0
JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64(编码) - Python/JS实现
本文仅仅介绍了常见的一些JS加密,并记录了JS和Python的实现方式 常见的加密算法基本分为这几类: (1)base64编码伪加密 (2)线性散列算法(签名算法)MD5 (3)安全哈希算法 SHAI (4)散列消息鉴别码 HMAC (5)对称性加密算法 AES,DES (6)非对称性加密算法 RSA
EXI-小洲
2022/12/13
4.3K0
JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64(编码) - Python/JS实现
基础入门-算法逆向&散列对称非对称&JS源码逆向&AES&DES&RSA&SHA
密文-有源码直接看源码分析算法(后端必须要有源码才能彻底知道) 密文-没有源码1、猜识别 2、看前端JS(加密逻辑是不是在前端) #算法加密-概念&分类&类型
没事就要多学习
2024/07/18
2130
基础入门-算法逆向&散列对称非对称&JS源码逆向&AES&DES&RSA&SHA
面试题:用户输入密码后,有哪些对密码的保护措施
用户输入密码后,为了保护密码的安全性,我们可以采取多种措施。本文将介绍在Java中如何对密码进行保护的具体代码和案例。
GeekLiHua
2025/01/21
2710
【硬核原创】盘点Python爬虫中的常见加密算法,建议收藏!!
相信大家在数据抓取的时候,会碰到很多加密的参数,例如像是“token”、“sign”等等,今天小编就带着大家来盘点一下数据抓取过程中这些主流的加密算法,它们有什么特征、加密的方式有哪些等等,知道了这些之后对于我们逆向破解这些加密的参数会起到不少的帮助!
用户6888863
2023/03/01
6140
【硬核原创】盘点Python爬虫中的常见加密算法,建议收藏!!
面试题:密码在数据库中如何保存
简介:数据安全,特别是密码的存储非常的重要,下面文章讲解,如何将密码更加安全的存储到数据库中。
GeekLiHua
2025/01/21
3020
2018年7月21日python中的加密和解密
·在函数调用执行过程中: 如果出现return,return中的函数执行完则本函数就运行结束,return下面的语句不会再继续执行,所以return使 用时也应该注意,如果是调用函数的下面还有要输出的东西,可以不用写return,直接写函数名调用
武军超
2018/09/27
1.2K0
推荐阅读
相关推荐
在 Python 中隐藏和加密密码?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验