aboutsummaryrefslogtreecommitdiff
blob: a5790e83ad0cac69caa78f673a5c0e7967f18c9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"""
CFFI based implementation of the crypt module
"""

import sys
import cffi

ffi = cffi.FFI()
ffi.cdef('char *crypt(char *word, char *salt);')

try:
    lib = ffi.dlopen('crypt')
except OSError:
    raise ImportError('crypt not available')


def crypt(word, salt):
    res = lib.crypt(word, salt)
    if not res:
        return None
    return ffi.string(res)