phc-winner-argon2、argon2-cffi安装使用方法
Argon2 is a password-hashing function created by by Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich.
Argon2算法曾在2015 年的Password Hashing密码加密大赛中胜出。
Argon2官网:https://www.argon2.com/
------------------------------------------------------------------------
0x00 phc-winner-argon2的安装
git clone https://github.com/P-H-C/phc-winner-argon2
cd phc-winner-argon2
make
使用方法:
echo -n "CTF_110_911" | ./argon2 -d -t -m -p -l
0x01 argon2-cffi的安装
CFFI: C Foreign Function Interface for Python. Interact with almost any C code from Python, based on C-like declarations that you can often copy-paste from header files or documentation.
pip install argon2_cffi
请不要安装pip install argon2
argon2-cffi的github:https://github.com/hynek/argon2-cffi (由于总更新,不建议从此安装)
argon2-cffi文档:https://argon2-cffi.readthedocs.io/en/stable/
0x02 argon2-cffi的使用
# -*- coding:utf8 -*-
__author__='pcat@chamd5.org' from argon2 import PasswordHasher ph=PasswordHasher()
hash='$argon2d$v=19$m=32768,t=100,p=1$MTIzNDU2Nzg$iuSRO5tkWxBxqgkI5g9O5ZersA//xvgvrKxH8QuxBBI4yKbG4aRFqITP/Rh5giFRuL9PTJP+/0BUfNwZHzx9bQ'
pwd='CTF_110_911'
assert ph.verify(hash,pwd)==True
0x03 argon2的各个版本
- Argon2d 最大限度地提高了对GPU破解攻击的抵抗力。它以密码相关的顺序访问存储器阵列,这降低了时间 - 存储器权衡(TMTO)攻击的可能性,但是引入了可能的侧面信道攻击。
- Argon2i 优化了抵御侧向通道攻击的能力。它以密码无关的顺序访问内存阵列。
- Argon2id 是一个混合版本。它遵循Argon2i方法进行第一次通过内存,Argon2d方法用于后续通过。Internet-Draft建议使用Argon2id,除非有理由选择其他两种模式之一。
phc-winner-argon2、argon2-cffi安装使用方法的更多相关文章
- 安装Birt方法
安装BIRT 方法: 博客地址:http://www.mamicode.com/info-detail-850588.html 注意:在 Install new Software 中输入地址:http ...
- linux php安装扩展方法 查找配置文件
如何在linux中查看nginx.apache.php.mysql配置文件路径了,如果你接收一个别人配置过的环境,但没留下相关文档.这时该怎么判断找到正确的加载文件路径了.可以通过以下来判断 1.判断 ...
- node安装插件方法
node安装插件方法有几种,这里列出常用的两种方法: 方法1: 进入要安装插件的目录,直接用 npm 软件安装包安装,如(安装express): cd /project npm install -g ...
- windows server 2008见安装IIS方法(解决)
windows server 2008见安装IIS方法(解决) 刚开始有点蒙,后来才知道原来如此.! . 右键点击[我的电脑]--[管理]--[字符]--[加入角色]--仅落后win7像.啊! 版权声 ...
- elasticsearch+kibana+metricbeat安装部署方法
elasticsearch+kibana+metricbeat安装部署方法 本文是elasticsearch + kibana + metricbeat,没有涉及到logstash部分.通过beat收 ...
- RHEL6下获取安装包(RPM)而不安装的方法
RHEL6下获取安装包(RPM)而不安装的方法 有时候我们只能在某个机器上网获得RPM安装包,如何将RPM包在不能上网的内网机器安装,就需要能将安装包下载到本地而不安装,然后再把这些包复制到内网机器, ...
- 哈希长度扩展攻击(Hash Length Extension Attack)利用工具hexpand安装使用方法
去年我写了一篇哈希长度扩展攻击的简介以及HashPump安装使用方法,本来已经足够了,但HashPump还不是很完善的哈希长度扩展攻击,HashPump在使用的时候必须提供original_data, ...
- windows Sever 2012下Oracle 12c安装配置方法图文教程
windows Sever 2012下Oracle 12c安装配置方法图文教程 Oracle 12c安装配置方法图文教程,具体内容如下 1.我们开启虚拟机 2.Windows Sever 2012启动 ...
- 安装rcssmin方法
#安装rcssmin方法'''pip install wheelpip install rcssmin --install-option="--without-c-extensions&qu ...
- myeclipse安装svn方法汇总
myeclipse安装svn方法汇总 博客分类: eclipse MyEclipse6.5安装SVN插件,掌握了几种方法,本节就像大家介绍一下MyEclipse6.5安装SVN插件的三种方法,看完 ...
随机推荐
- rethinkDB python入门
Start the server For a more detailed look, make sure to read the quickstart. $ rethinkdb Import the ...
- 雪花算法(DELPHI实现)
雪花算法(DELPHI实现) 生成ID能够按照时间有序生成. 分布式系统内不会产生重复id(用workerId来做区分). 自增ID:对于数据敏感场景不宜使用,且不适合于分布式场景. GUID:采用无 ...
- Linux虚拟化与容器化
随着云计算的不断发展,计算资源不断集中于大规模的服务器集群上.为了充分发挥硬件潜力,提高服务器性能,虚拟化技术由此诞生. 所谓虚拟化技术,是指将计算元件和硬件隔离开来,隐藏底层的硬件物理特性,为用户提 ...
- PYNQ系列学习(二)——pynq与zynq对比(一)
Zynq可扩展处理平台是赛灵思新一代 FPGA的可编程技术的产品系列.与采用嵌入式处理器的FPGA不同,Zynq产品系列的处理系统不仅能在开机时启动,而且还可根据需要配置可编程逻辑.采用这种方法,软件 ...
- MySQL数据库之慢查询日志
一.开启慢查询日志 通过show global variables like '%slow%' #查看MySQL慢查询日志是否开启 [root@mysqlmaster01 ~]# mysql --lo ...
- 算法习题---4-5IP网络(Uva1590)
一:题目 给出m(1到10000之间)个IP地址,求他们最小的网络号和子网掩码 (一)样例输入 3 表示要获取的IP地址个数 194.85.160.177 IP地址 194.85.160.183 19 ...
- Linux -- 在多线程程序中避免False Sharing
1.什么是false sharing 在对称多处理器(SMP)系统中,每个处理器均有属于自己的本地高速缓存区. 如图,CPU0和CPU1有各自的本地高速缓存区(cache).线程0和线程1会用到不同的 ...
- [AI] 深度数学 - Bayes
数学似宇宙,韭菜只关心其中实用的部分. scikit-learn (sklearn) 官方文档中文版 scikit-learn Machine Learning in Python 一个新颖的onli ...
- 123457123457#0#-----com.yuming.drawGame01--前拼后广--儿童画画游戏
com.yuming.drawGame01--前拼后广--儿童画画游戏
- 关于async await的测试
async await的教程:https://www.cnblogs.com/zhaoshujie/p/11192036.html 异步方法: private async Task<string ...