1/*[clinic input] 2preserve 3[clinic start generated code]*/ 4 5PyDoc_STRVAR(crypt_crypt__doc__, 6"crypt($module, word, salt, /)\n" 7"--\n" 8"\n" 9"Hash a *word* with the given *salt* and return the hashed password.\n" 10"\n" 11"*word* will usually be a user\'s password. *salt* (either a random 2 or 16\n" 12"character string, possibly prefixed with $digit$ to indicate the method)\n" 13"will be used to perturb the encryption algorithm and produce distinct\n" 14"results for a given *word*."); 15 16#define CRYPT_CRYPT_METHODDEF \ 17 {"crypt", (PyCFunction)crypt_crypt, METH_VARARGS, crypt_crypt__doc__}, 18 19static PyObject * 20crypt_crypt_impl(PyObject *module, const char *word, const char *salt); 21 22static PyObject * 23crypt_crypt(PyObject *module, PyObject *args) 24{ 25 PyObject *return_value = NULL; 26 const char *word; 27 const char *salt; 28 29 if (!PyArg_ParseTuple(args, "ss:crypt", 30 &word, &salt)) { 31 goto exit; 32 } 33 return_value = crypt_crypt_impl(module, word, salt); 34 35exit: 36 return return_value; 37} 38/*[clinic end generated code: output=8dfc88264e662df4 input=a9049054013a1b77]*/ 39