как сгенеровать уникальный код длиной n символов из строки?Laravel
use Illuminate\Support\Facades\Hash;
к примеру есть
$string = '[email protected]'; mails постоянно будут разные
есть идея
$generated = Hash::make($string)
//на выходе
//$2y$10$m.Fp9teOaXyR18.z1ajCMe8..wTY8f7l2qDCThu87ugP/LRCIo1eS
//Если эту строку обрезать то будет ли она уникальной?
//Или как лучше сделать?
//Нужно чтобы был уникальный код к примеру 8 символов
Ответы (1 шт):
Автор решения: Aleksey Vaganov
→ Ссылка
Метод Hash::make() использует Bcrypt функцию, которая не гарантирует уникальность.
Для генерации рандомной строки фиксированной длины можете использовать функцию random_bytes() и проверяйте ее уникальность.