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

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获取JEditorPane中字符的绝对位置   java Datetime:将时间段拆分为天、小时和分钟   java是使此HashMap更高效的一种方法   java项目reactor:collectList()之后的block()对Flux不起作用。创建()   java在Mac OSX上安装OpenCV   java递归地确定一组数字是否包含两个总和相等的子集   Quad2D曲线上的几何图形Java绘图箭头   java将SSL证书导入Glassfish 4。十、   java Android未找到处理Intent MediaScanner的活动   EclipseJava。安全cert.CertificateParsingException:java。木卫一。IOException:主题密钥,无法创建EC公钥   java我能在O(M log N)时间内完成吗?   java跟踪eclipse中的资源更改也在中。元数据和。项目   java如何完全禁用Android键盘   java返回到上一个活动