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

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 IntelliJ找不到依赖项选项卡   java向字符串数组string[]添加元素并在Junit中测试结果   如何在eclipse中获取活动java项目的名称   如何使用java在mysql中插入时间   java ArrayList更新了插入一行,但Jtable仍然没有刷新   如何在JavaSwing中命名坐标(点)   java Matcher/模式不打印   java错误地设置了arraylist   使用UsernamePasswordCredential提供程序的java列表Azure AD   java在HTTP请求中设置UTC时间   未加载事件:jquery完整日历Java集成   java Maven插件依赖项无法从内部repo解析依赖项   Maven更新重置Java版本   java如何向中添加图片。带有Apache POI XWPF的docx,但不指定其大小   Java最大函数递归