Не хэшируйте свою соль таким образом.
Хеширование Blowfish
crypt
требует 22-символьной строки в кодировке base64 (используя символы [./0-9A-Za-z]) для соли, что составляет 128 битов энтропии.
Хэш SHA-512, который вы используете для создания соли, имеет 512 бит энтропии. Но вы отбрасываете более 80% этого, поскольку crypt
теперь будет использовать только 22 шестнадцатеричных символа в нижнем регистре. Это оставляет вам только около 85 бит энтропии, несмотря на все ваши фантазии, генерирующие случайность.
И если для вас достаточно 85 бит, вы можете просто сделать что-то вроде этого:
$salt = str_replace("+", ".", base64_encode(md5(uniqid(mt_rand(), true), true)));
На самом деле я не осмелюсь дать вам какой-либо совет о том, как генерировать соль, которая использует целые 128 бит, поскольку я не специалист по криптографии.