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);
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 == ',')
tmp = ((buf[i] >> 1) % ('~' - '!')) + '!';
buf[i] = tmp;
// ...so we can use it to replace ','
if (buf[i] == ',')
buf[i] = '~';
}
return [OFString stringWithCString: (char*)buf