Fix salt generation code

This commit is contained in:
Florian Zeitz 2011-09-16 15:11:54 +02:00
parent 616aa8b9cd
commit 64f131641f

View file

@ -384,12 +384,12 @@
assert(RAND_pseudo_bytes(buf, 64) >= 0); assert(RAND_pseudo_bytes(buf, 64) >= 0);
for (i = 0; i < 64; i++) { for (i = 0; i < 64; i++) {
uint8_t tmp = (buf[i] % ('~' - '!')) + '!'; // Restrict salt to printable range, but do not include '~'...
buf[i] = (buf[i] % ('~' - '!')) + '!';
while (tmp == ',') // ...so we can use it to replace ','
tmp = ((buf[i] >> 1) % ('~' - '!')) + '!'; if (buf[i] == ',')
buf[i] = '~';
buf[i] = tmp;
} }
return [OFString stringWithCString: (char*)buf return [OFString stringWithCString: (char*)buf