|
|
|
_ответ
Ruby и Python, пока нет (буду работать над этим), а на C пожалуйста ;-)
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
char *my_uniqid(int len)
{
static char chars[] = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
char *result;
char *pstr;
int i;
result = (char*)malloc(len + 1);
if (!result)
return 0;
for(i = 0, pstr = result; i < len; ++i, ++pstr) {
*pstr = chars[rand()%(sizeof(chars) - 1)];
}
*pstr = '\0';
return result;
}
main(int argc, char **argv)
{
char *uniqid = 0;
int len, i;
if (argc > 1)
len = atoi(argv[1]);
else
len = 16;
srand(time(NULL));
uniqid = my_uniqid(len);
if (uniqid) {
printf("%s\n", uniqid);
free(uniqid);
}
return 0;
}
|