extremely simple wrapper around crypt(3)
Project description
pyphash is a Python extension module that wraps the C library function
crypt
, which performs passphrase hashing, in the simplest possible
fashion. It exposes one function, named crypt
, which works just
like the C crypt
except that it is thread safe:
>>> pyphash.crypt("swordfish", "$5e$z4x3Zlhs")
'$5$z4x3Zlhs$g7JP4M7HZw5L25Xwklbd2nQ2rfjzVGFB1SJutFnmvK4'
You have to create settings strings yourself.
This module is not intended to be used by programs that actually need
to hash passphrases—if it were, it would at least also provide access
to crypt_gensalt
. Rather, its purpose is to be a test case for the
packaging toolchain for C extension modules. Linux distributions are
changing how they provide the shared library that implements crypt
,
and Python packaging must adapt. See manylinux bug
#305 for the gory details.
For thread safety, the module actually uses the reentrant variant of
crypt
called crypt_r
, and looks for it in crypt.h
rather than
unistd.h
. It will fail to compile if this function or this header
is not available.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pyphash-0.0.1.tar.gz
.
File metadata
- Download URL: pyphash-0.0.1.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf6ed5a485ad50d2ee2d1cba9f4a3dcaa4d87dce4111e6530272ece5d07b0ae5 |
|
MD5 | f8ee7be189f6054977593d269b703f22 |
|
BLAKE2b-256 | 80df14338728d4735e279eb4025976b9d0b7892c176e7618ddd6c6c6dc430ca6 |