Если нужно генерить уникальный хеш, то лучше использовать uuid, а не костылить. В алгоритме генерации uuid уже предприняты усилия по существенному уменьшению риска коллизий.
Можно на это поле в базу поставить unique, тогда даже если коллизия вдруг случится, то хотя бы база не будет повреждена неоднозначными данными (но возникнет ошибка, конечно, которую надо будет показать пользователю).