Whirlpool-plus


NameWhirlpool-plus JSON
Version 2 PyPI version JSON
download
home_pagehttps://github.com/str2hex/python3.11--whirlpool
SummaryWhirlpool: Bindings for whirlpool hash reference implementation.
upload_time2023-10-22 15:44:37
maintainerOlaf Conradi + str2hex fix py 3.11+
docs_urlNone
author
requires_python>=2.7,!=3.0.*,!=3.1.*,!=3.2.*
licensePublic Domain
keywords digest hashlib whirlpool
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            
# python-whirlpool

[![Travis CI Build Status](https://travis-ci.org/oohlaf/python-whirlpool.svg?branch=master)](https://travis-ci.org/oohlaf/python-whirlpool)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/pw35grm8ald8lg22/branch/master?svg=true)](https://ci.appveyor.com/project/oohlaf/python-whirlpool/branch/master)
[![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/)

The [Whirlpool] algorithm is designed by Vincent Rijmen and Paulo S.L.M. Barreto.
It is a secure and modern digest function that has been recommended by the
[NESSIE] project and adopted in the ISO/IEC 10118-3 international standard.

Digest functions, also known as hash functions, produce fixed-length output (a
digest or hash) from a variable-length message. They are designed to be a
one-way function.

This library is a Python wrapper around the Whirlpool C reference implementation.
The Whirlpool reference implementations are public domain, as is this code.

The first version of the wrapper was written by James Cleveland with help
from #python on irc.freenode.net.

Later on the wrapper was rewritten by Olaf Conradi to use the hashlib interface
and he made the library compatible with Python 3.

## Installation

This library is available on [PyPI].

    pip install whirlpool

## Usage

This is the same interface as provided by the other digest algorithms in
Python's hashlib.
    
    import whirlpool

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

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

Starting with Python 3 text strings (as shown above) are stored as unicode.
You need to specify the encoding of these strings before hashing.

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

Strings that are marked as binary do not need encoding.

## Development

The source code is available on [GitHub].

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

Install in development mode using:

    python setup.py develop

Or install in editable mode using pip:

    pip install -e .

## Testing

This module is tested using Python 2.7, PyPy, and Python 3.3 and up.

You can run the test suite using

    python setup.py test

[Whirlpool]: https://en.wikipedia.org/wiki/Whirlpool_(cryptography)
[NESSIE]: https://www.cosic.esat.kuleuven.be/nessie/
[PyPI]: https://pypi.python.org/pypi/Whirlpool
[GitHub]: https://github.com/oohlaf/python-whirlpool


# Whirlpool Changelog

All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog][keepachangelog] and this
project adheres to [Semantic Versioning][semver].

## [Unreleased]

## [1.0.0] (2018-02-19)

### Added

- Port to Python 3.
- Added PyPy support. PyPy3 does not work due to functions
  that have not yet been ported (like missing `PyUnicode_New`).
- Added Continuous Integration using Travis CI and AppVeyor.
- Added automatic upload to PyPI for successful build tags. Proper
  vX.Y.Z style tags upload to production PyPI, any other build
  (including .devX appended) upload to Test PyPI.

### Fixed

- Fix struct function declaration prototype warnings.
- Fix pointer warnings.

### Changed

- Package ownership transferred to Olaf Conradi.
- Started using [Semantic Versioning][semver] together with
  [Keep a Changelog][keepachangelog].
- Restructured the package setup and revamped build scripts.

### Deprecated

- Removed the old deprecated `hash()` interface.

## [0.3] (2013-01-23)

### Added

- Added the same interface as other Python digest algorithms have
  (like the default `hashlib` module).

### Changed

- Created proper unit tests.

### Deprecated

- The `hash()` function is deprecated. Please transition to the hashlib
  interface and use `new()` and `hexdigest()`.

## 0.2 (unreleased)

- This release was skipped.

## 0.1 (2011-05-18)

### Added

- Initial commit by James Cleveland.

[Unreleased]: https://github.com/oohlaf/python-whirlpool/compare/v1.0.0...HEAD
[1.0.0]: https://github.com/oohlaf/python-whirlpool/compare/v0.3...v1.0.0
[0.3]: https://github.com/oohlaf/python-whirlpool/compare/v0.1...v0.3
[semver]: https://semver.org/spec/v2.0.0.html
[keepachangelog]: http://keepachangelog.com/en/1.0.0/

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/str2hex/python3.11--whirlpool",
    "name": "Whirlpool-plus",
    "maintainer": "Olaf Conradi + str2hex fix py 3.11+",
    "docs_url": null,
    "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*",
    "maintainer_email": "str2hex@mail.ru",
    "keywords": "digest hashlib whirlpool",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/b4/e9/d033913d7b1553e69adb959cca95d530ed9d3ec90fe15daced9395dd86ed/Whirlpool-plus-2.tar.gz",
    "platform": "any",
    "description": "\r\n# python-whirlpool\r\n\r\n[![Travis CI Build Status](https://travis-ci.org/oohlaf/python-whirlpool.svg?branch=master)](https://travis-ci.org/oohlaf/python-whirlpool)\r\n[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/pw35grm8ald8lg22/branch/master?svg=true)](https://ci.appveyor.com/project/oohlaf/python-whirlpool/branch/master)\r\n[![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/)\r\n\r\nThe [Whirlpool] algorithm is designed by Vincent Rijmen and Paulo S.L.M. Barreto.\r\nIt is a secure and modern digest function that has been recommended by the\r\n[NESSIE] project and adopted in the ISO/IEC 10118-3 international standard.\r\n\r\nDigest functions, also known as hash functions, produce fixed-length output (a\r\ndigest or hash) from a variable-length message. They are designed to be a\r\none-way function.\r\n\r\nThis library is a Python wrapper around the Whirlpool C reference implementation.\r\nThe Whirlpool reference implementations are public domain, as is this code.\r\n\r\nThe first version of the wrapper was written by James Cleveland with help\r\nfrom #python on irc.freenode.net.\r\n\r\nLater on the wrapper was rewritten by Olaf Conradi to use the hashlib interface\r\nand he made the library compatible with Python 3.\r\n\r\n## Installation\r\n\r\nThis library is available on [PyPI].\r\n\r\n    pip install whirlpool\r\n\r\n## Usage\r\n\r\nThis is the same interface as provided by the other digest algorithms in\r\nPython's hashlib.\r\n    \r\n    import whirlpool\r\n\r\n    wp = whirlpool.new(\"My String\")\r\n    hashed_string = wp.hexdigest()\r\n\r\n    wp.update(\"My Salt\")\r\n    hashed_string = wp.hexdigest()\r\n\r\nStarting with Python 3 text strings (as shown above) are stored as unicode.\r\nYou need to specify the encoding of these strings before hashing.\r\n\r\n    wp = whirlpool.new(data.encoding('utf-8'))\r\n\r\nStrings that are marked as binary do not need encoding.\r\n\r\n## Development\r\n\r\nThe source code is available on [GitHub].\r\n\r\n    git clone https://github.com/oohlaf/python-whirlpool.git\r\n    cd python-whirlpool\r\n\r\nInstall in development mode using:\r\n\r\n    python setup.py develop\r\n\r\nOr install in editable mode using pip:\r\n\r\n    pip install -e .\r\n\r\n## Testing\r\n\r\nThis module is tested using Python 2.7, PyPy, and Python 3.3 and up.\r\n\r\nYou can run the test suite using\r\n\r\n    python setup.py test\r\n\r\n[Whirlpool]: https://en.wikipedia.org/wiki/Whirlpool_(cryptography)\r\n[NESSIE]: https://www.cosic.esat.kuleuven.be/nessie/\r\n[PyPI]: https://pypi.python.org/pypi/Whirlpool\r\n[GitHub]: https://github.com/oohlaf/python-whirlpool\r\n\r\n\r\n# Whirlpool Changelog\r\n\r\nAll notable changes to this project will be documented in this file.\r\nThe format is based on [Keep a Changelog][keepachangelog] and this\r\nproject adheres to [Semantic Versioning][semver].\r\n\r\n## [Unreleased]\r\n\r\n## [1.0.0] (2018-02-19)\r\n\r\n### Added\r\n\r\n- Port to Python 3.\r\n- Added PyPy support. PyPy3 does not work due to functions\r\n  that have not yet been ported (like missing `PyUnicode_New`).\r\n- Added Continuous Integration using Travis CI and AppVeyor.\r\n- Added automatic upload to PyPI for successful build tags. Proper\r\n  vX.Y.Z style tags upload to production PyPI, any other build\r\n  (including .devX appended) upload to Test PyPI.\r\n\r\n### Fixed\r\n\r\n- Fix struct function declaration prototype warnings.\r\n- Fix pointer warnings.\r\n\r\n### Changed\r\n\r\n- Package ownership transferred to Olaf Conradi.\r\n- Started using [Semantic Versioning][semver] together with\r\n  [Keep a Changelog][keepachangelog].\r\n- Restructured the package setup and revamped build scripts.\r\n\r\n### Deprecated\r\n\r\n- Removed the old deprecated `hash()` interface.\r\n\r\n## [0.3] (2013-01-23)\r\n\r\n### Added\r\n\r\n- Added the same interface as other Python digest algorithms have\r\n  (like the default `hashlib` module).\r\n\r\n### Changed\r\n\r\n- Created proper unit tests.\r\n\r\n### Deprecated\r\n\r\n- The `hash()` function is deprecated. Please transition to the hashlib\r\n  interface and use `new()` and `hexdigest()`.\r\n\r\n## 0.2 (unreleased)\r\n\r\n- This release was skipped.\r\n\r\n## 0.1 (2011-05-18)\r\n\r\n### Added\r\n\r\n- Initial commit by James Cleveland.\r\n\r\n[Unreleased]: https://github.com/oohlaf/python-whirlpool/compare/v1.0.0...HEAD\r\n[1.0.0]: https://github.com/oohlaf/python-whirlpool/compare/v0.3...v1.0.0\r\n[0.3]: https://github.com/oohlaf/python-whirlpool/compare/v0.1...v0.3\r\n[semver]: https://semver.org/spec/v2.0.0.html\r\n[keepachangelog]: http://keepachangelog.com/en/1.0.0/\r\n",
    "bugtrack_url": null,
    "license": "Public Domain",
    "summary": "Whirlpool: Bindings for whirlpool hash reference implementation.",
    "version": "2",
    "project_urls": {
        "Download": "https://github.com/str2hex/python3.11--whirlpool/archive/2.zip",
        "Homepage": "https://github.com/str2hex/python3.11--whirlpool"
    },
    "split_keywords": [
        "digest",
        "hashlib",
        "whirlpool"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4e9d033913d7b1553e69adb959cca95d530ed9d3ec90fe15daced9395dd86ed",
                "md5": "f4b7d2b1fec14317d3948c8b0db5f357",
                "sha256": "63c99226237a2c4e7747929a36e219cf09a837f20ab65fdeac0719921f9fc379"
            },
            "downloads": -1,
            "filename": "Whirlpool-plus-2.tar.gz",
            "has_sig": false,
            "md5_digest": "f4b7d2b1fec14317d3948c8b0db5f357",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*",
            "size": 40297,
            "upload_time": "2023-10-22T15:44:37",
            "upload_time_iso_8601": "2023-10-22T15:44:37.879115Z",
            "url": "https://files.pythonhosted.org/packages/b4/e9/d033913d7b1553e69adb959cca95d530ed9d3ec90fe15daced9395dd86ed/Whirlpool-plus-2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-22 15:44:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "str2hex",
    "github_project": "python3.11--whirlpool",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "appveyor": true,
    "lcname": "whirlpool-plus"
}
        
Elapsed time: 0.16275s