惠而浦:惠而浦哈希引用实现的绑定。
Whirlpool的Python项目详细描述
Python漩涡
那个 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兼容。
使用量
这与中其他摘要算法提供的接口相同 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。
已修复
- 修复结构函数声明原型警告。
- 修正指针警告。
已更改
- 包所有权转移到olaf conradi。
- 开始与一起使用Semantic VersioningKeep a Changelog。
- 重新构造了包设置并修改了生成脚本。
已弃用
- 删除了旧的不推荐使用的hash()接口。
0.3(2013-01-23)
已添加
- 添加了与其他python摘要算法相同的接口(如 默认的hashlib模块)。
已更改
- 创建了正确的单元测试。
已弃用
- 不推荐使用hash()函数。请转到 hashlib接口并使用new()和hexdigest()。
0.2(未发布)
- 已跳过此版本。