{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Security :: Cryptography" ], "description": "pyphash is a Python extension module that wraps the C library function\n`crypt`, which performs passphrase hashing, in the simplest possible\nfashion. It exposes one function, named `crypt`, which works just\nlike the C `crypt` except that it is thread safe:\n\n\n >>> pyphash.crypt(\"swordfish\", \"$5e$z4x3Zlhs\")\n '$5$z4x3Zlhs$g7JP4M7HZw5L25Xwklbd2nQ2rfjzVGFB1SJutFnmvK4'\n\nYou have to create settings strings yourself.\n\nThis module is not intended to be used by programs that actually need\nto hash passphrases\u2014if it were, it would at least also provide access\nto `crypt_gensalt`. Rather, its purpose is to be a test case for the\npackaging toolchain for C extension modules. Linux distributions are\nchanging how they provide the shared library that implements `crypt`,\nand Python packaging must adapt. See [manylinux bug\n#305](https://github.com/pypa/manylinux/issues/305) for the gory details.\n\nFor thread safety, the module actually uses the reentrant variant of\n`crypt` called `crypt_r`, and looks for it in `crypt.h` rather than\n`unistd.h`. It will fail to compile if this function or this header\nis not available.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/zackw/pyphash", "keywords": "", "license": "Apache", "maintainer": "Zack Weinberg", "maintainer_email": "zackw@panix.com", "name": "pyphash", "package_url": "https://pypi.org/project/pyphash/", "platform": "", "project_url": "https://pypi.org/project/pyphash/", "project_urls": { "Homepage": "https://github.com/zackw/pyphash" }, "release_url": "https://pypi.org/project/pyphash/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "extremely simple wrapper around crypt(3)", "version": "0.0.1" }, "last_serial": 5557336, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f8ee7be189f6054977593d269b703f22", "sha256": "cf6ed5a485ad50d2ee2d1cba9f4a3dcaa4d87dce4111e6530272ece5d07b0ae5" }, "downloads": -1, "filename": "pyphash-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f8ee7be189f6054977593d269b703f22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7134, "upload_time": "2019-07-19T16:01:41", "url": "https://files.pythonhosted.org/packages/80/df/14338728d4735e279eb4025976b9d0b7892c176e7618ddd6c6c6dc430ca6/pyphash-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f8ee7be189f6054977593d269b703f22", "sha256": "cf6ed5a485ad50d2ee2d1cba9f4a3dcaa4d87dce4111e6530272ece5d07b0ae5" }, "downloads": -1, "filename": "pyphash-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f8ee7be189f6054977593d269b703f22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7134, "upload_time": "2019-07-19T16:01:41", "url": "https://files.pythonhosted.org/packages/80/df/14338728d4735e279eb4025976b9d0b7892c176e7618ddd6c6c6dc430ca6/pyphash-0.0.1.tar.gz" } ] }