惠而浦:惠而浦哈希引用实现的绑定。

Whirlpool的Python项目详细描述


Python漩涡

Travis CI Build StatusAppVeyor Build StatusLicense: Unlicense

那个 Whirlpool 算法由Vincent Rijmen和Paulo S.L.M.Barreto设计。它是 由 NESSIE项目和 采用ISO/IEC 10118-3国际标准。

摘要函数,也称为哈希函数,产生固定长度 从可变长度消息输出(摘要或哈希)。他们是 设计成单向功能。

这个库是围绕whirlpool c reference的python包装器 实施。惠而浦参考实现是公开的 域,以及此代码。

包装的第一个版本是由詹姆斯克利夫兰写的 来自irc.freenode.net上的python的帮助。

后来,包装器被olaf conradi重写为使用hashlib 接口,他使库与Python3兼容。

安装

此库在上可用 PyPI

pip install whirlpool

使用量

这与中其他摘要算法提供的接口相同 python的hashlib。

import whirlpool

wp = whirlpool.new("My String")
hashed_string = wp.hexdigest()

wp.update("My Salt")
hashed_string = wp.hexdigest()

从python 3开始,文本字符串(如上所示)存储为 Unicode编码。您需要在 散列。

wp = whirlpool.new(data.encoding('utf-8'))

标记为二进制的字符串不需要编码。

发展

源代码位于 GitHub

git clone https://github.com/oohlaf/python-whirlpool.git
cd python-whirlpool

以开发模式安装,使用:

python setup.py develop

或者在可编辑模式下使用pip安装:

pip install -e .

测试

此模块使用Python2.7、PyPy和Python3.3及更高版本进行测试。

您可以使用

python setup.py test

惠而浦变更日志

该项目的所有显著变化都将记录在本文件中。这个 格式基于Keep a Changelog和此项目 附着于Semantic Versioning

1.0.0(2018-02-19)

已添加

  • 到python 3的端口。
  • 添加了pypy支持。PyPy3无法工作,因为 尚未移植(例如缺少PyUnicode_New)。
  • 使用travis ci和appveyor添加了持续集成。
  • 为成功生成标记添加了自动上载到pypi。适当的 vx.y.z样式标签上传到生产pypi,任何其他版本 (包括附加的.devx)上传到测试pypi。

已修复

  • 修复结构函数声明原型警告。
  • 修正指针警告。

已更改

已弃用

  • 删除了旧的不推荐使用的hash()接口。

0.3(2013-01-23)

已添加

  • 添加了与其他python摘要算法相同的接口(如 默认的hashlib模块)。

已更改

  • 创建了正确的单元测试。

已弃用

  • 不推荐使用hash()函数。请转到 hashlib接口并使用new()hexdigest()

0.2(未发布)

  • 已跳过此版本。

0.1(2011-05-18)

已添加
  • 詹姆斯·克利夫兰的初步承诺。

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

推荐PyPI第三方库


热门话题
java Spring data rest域驱动设计发布非聚合根实体   使用ContentValues提升整数列的值(Java、Android)   Google应用程序引擎(Java)+Spring管理的PersistenceManager   java如何使用JDT获取封闭方法节点?   java在字符串中首先计算负数运算   java Android如何在单击按钮时更改底部导航项的颜色   java理解Javafx运行时错误   swing Java创建笔刷笔划动作   java在非Netty客户端中从Netty服务器获取响应   java计数将参数传递给方法   java Android AIDL gen文件导致警告?   swing Java JFrame互动程序   scjp测试中的java正则表达式测试   Java中的桌面应用   java我可以使用spring security在cookies中存储完整的用户信息吗?记住我   java中棘手的方法重载   java忽略Mockito中的方法调用   java skipUntil和具有并发1的flatMap挂起在Reactor中   为什么我要关闭java。util。扫描仪变量?