python的scrypt

pylibscrypt的Python项目详细描述


python的scrypt
==

[![构建状态](https://travis ci.org/jvarho/pylibscrypt.svg)(https://travis ci.org/jvarho/pylibscrypt)
[![覆盖状态](https://coveralls.io/repos/github/jvarho/pylibscrypt/badge.svg?branch=master)(https://coveralls.io/github/jvarho/pylibscrypt?分支=主)
[![PYPI版本](https://img.shields.io/pypi/v/pylibscrypt.svg)(https://pypi.python.org/pypi/pylibscrypt)


python有很多不同的scrypt模块,但它们都没有
我想要的所有模块,所以这里还有一个[1]。



特性
--
*在python 3.6和openssl 1.1上使用hashlib.scrypt。
*使用系统下一个选择是libscrypt[2]。
*如果两者都不可用,请尝试scrypt python模块[3]或libnadium[4]。
*提供了一个纯python scrypt实现,用于没有c scrypt的情况。
*即使在纯python中也不会非常慢……至少使用pypy[5]。

pypy作为解释器,python实现的速度大约是c scrypt的五分之一。对于cpython,它的速度大约在50到250倍之间。




requirements
--
*python 2.7.8+或3.4+。py py的等效版本也应该可以工作。
*如果需要速度,您应该使用以下选项之一:
-libscrypt 1.8+(旧版本可以工作)
-py scrypt 0.6+(pip install scrypt)
-libnadium 1.0+
-python 3.6+(使用openssl 1.1+


usage
--

安装pylibscrypt

您很可能希望创建mcf散列并将其存储在某个地方,然后根据这些散列检查用户输入的密码。为此,您只需要使用来自API的两个
>函数:来自Pylibscrrypt import scrypt_mccrypt_mcf,scrypt_mcf_mcf check的

;生成一个含有随机盐的mcf哈希
mcf=scrypt_mcf(b'hello world’)
;测试打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印我是说,b'hellopyworld'))打印false

也就是说,不要传递一个。



versioning
--
遵循语义版本控制[6]。
当版本与
主版本不同时,版本被标记为vx.y.z和发布分支bx.y.x。




development
--
在github[7]上进行开发。如果你发现了虫子,请在那里打开一个问题。

可以使用Docker测试环境进行更全面的测试。
使用'make docker run'生成并运行,或者拉入jvarho/pylibscrypt映像并使用'docker run-v${pwd}/app jvarho/pylibscrypt'运行。




[1]:https://xkcd.com/927/
[2]:https://github.com/technion/libscrypt
[3]:https://bitbbucket.org/mhallin/py-scrypt/src
[4]:https://github.com/jedissct1/libnana
[5]:http://py py pypy.org/
[6]:http://semver.org/spec/v2.0.0.0.html
[7]:https://github.com/jvarho/pylibscrypt/jvarho/pylibscrypt
[4]:http://github.com/jedissct1

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java变量始终存储0值。为什么?   如何使用Java/REST将Azure blob从一个存储容器移动到另一个存储容器?   java将commons DBCP从1.2升级到1.4,我应该害怕吗?   java如何使用分隔符拆分字符串?   java使用数组读取json对象   java在groovy中切片字符串   交换数组java的两个邻域元素   java移动用于确定字符串是否为回文的逻辑   java Android应用程序在一个活动中崩溃   java Sparkjava将webapp文件夹设置为静态资源/模板的文件夹   java复杂条件表达式,用户易用。   java如何仅在表存在时从表中选择值   java I无法将数据从Recyclerview传递到其他活动   java数据结构最佳设计(大数据)   java Android从DatePickerDialogFragment中删除日历视图   java将数据从Firebase获取到片段   数组。sort()在java中运行不正常