Я думаю, что это зависит больше от того, как значение рандомизировано, чем как долго это. 256-битный хэш вообще не безопасен, если это просто хэш чего-то, что можно легко угадать или сузить, например, уникальный идентификатор, основанный на времени.
Однако, как вы сказали, вы не спрашиваете о том, как сделать это достаточно случайным.
Примерно 2 ^ 80 (или более) необходимых операций для того, чтобы что-то сломать, обычно являются хорошей мерой. Это означает, что 80-битный хеш является безопасным. (Если бы вы были уязвимы для атак на день рождения, вам понадобилось бы удвоить это, то есть 160 бит, но я не думаю, что эта ситуация применима).
Лично для этого я использую 256-битные хэши. Когда кодируется base64, они сжимаются до 43 символов в длину, все печатные символы. Я полагаю, что хотя это намного больше, чем мне нужно, это не большая проблема, когда они так долго.