как сгенеровать уникальный код длиной 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() и проверяйте ее уникальность.

→ Ссылка