* mu-util: add mu_util_get_hash (refactored)
This commit is contained in:
@ -563,3 +563,27 @@ mu_util_read_password (const char *prompt)
|
||||
|
||||
return g_strdup (pass);
|
||||
}
|
||||
|
||||
|
||||
const char*
|
||||
mu_util_get_hash (const char* str)
|
||||
{
|
||||
unsigned djbhash, bkdrhash, bkdrseed;
|
||||
unsigned u;
|
||||
static char hex[18];
|
||||
|
||||
g_return_val_if_fail (str, NULL);
|
||||
|
||||
djbhash = 5381;
|
||||
bkdrhash = 0;
|
||||
bkdrseed = 1313;
|
||||
|
||||
for(u = 0; str[u]; ++u) {
|
||||
djbhash = ((djbhash << 5) + djbhash) + str[u];
|
||||
bkdrhash = bkdrhash * bkdrseed + str[u];
|
||||
}
|
||||
|
||||
snprintf (hex, sizeof(hex), "%08x%08x", djbhash, bkdrhash);
|
||||
|
||||
return hex;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user