действительно новый для Symfony 2 здесь. Я пытаюсь реализовать класс secureRandom и nextType (int) для генерации 32-символьной случайной строки. Однако, как представляется, метод возвращает нестандартные символы (UTF8).Symfony 2.3 nextBytes() не возвращает ожидаемые результаты
Код:
use Symfony\Component\Security\Core\Util\SecureRandom;
$generator = new SecureRandom();
$random = $generator->nextBytes(32);
...
Результат:
Есть ли способ определить, я только хочу стандартные английские символы? Спасибо заранее!
Благодарим вас за ответ. Это преобразует результат nextBytes (32) в обычный текст, но длина строки намного длиннее 32. Мне пришлось использовать substr(), чтобы сократить ее. Есть ли лучшее решение для создания случайной 32-символьной строки? substr (bin2hex ($ generator-> nextBytes (32)), 0, 32); – Pathsofdesign
Thats потому, что bin2hex является шестнадцатеричным представлением байтов. Если вам нужна строка с 32 символами, вы можете использовать nextBytes (16); 32 байта, отображаемые в виде строки, на самом деле составляют 128 символов. Где отображается как шестнадцатеричное значение 64. – Chausser