this bug is only for win32 system.
On mingw32 random() function have to be initialized by srandom().
so, I put srandom(time(NULL)) line.
and,
Because random() function return integer (2byte), this return integer number need filtering.
so, I changed random() % 255 line.
on win32, original code gen_salt() function allways returned "$1$/2E./2E.".
this string made by same return value by random() function. (sorry, I can't express in good English)
plz, check and properly fix this bug.
I tried "& 255" operation. but this bug is still.