Насколько я знаю, большинство хеш-алгоритмов не гарантируют, когда могут возникнуть коллизии, поэтому вы, скорее всего, получите коллизию с вашим предложенным кодом так же, как и случайную часть самостоятельно.
Если автоинкрементная часть уникальна, а случайная часть просто для того, чтобы избежать догадок, вы можете просто объединить две части вместе (т.е. все в вашем примере перед вызовом hash
). Таким образом, если одно и то же случайное число встречается дважды, оно будет иметь разные цифры в конце.
Если это приводит к чему-то слишком длинному, вы можете сделать что-то с base_convert
или asc
, чтобы преобразовать число в более короткое представление.