00001 #include "strutils.h"
00002 #include <crypt.h>
00003
00004 #include <unistd.h>
00005 #include <stdlib.h>
00006
00007 WvString passwd_crypt(const char *str)
00008 {
00009 static char saltchars[] =
00010 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./";
00011 char salt[3], *result;
00012
00013 salt[0] = saltchars[random() % (sizeof(saltchars) - 1)];
00014 salt[1] = saltchars[random() % (sizeof(saltchars) - 1)];
00015 salt[2] = 0;
00016
00017 result = crypt(str, salt);
00018 if (!result)
00019 return "*";
00020
00021 WvString s(result);
00022 return s;
00023 }