Ну, CryptUtil.php говорит, что класс
* Attempts to use a cryptographically secure (not predictable)
* source of randomness if available. If there is no high-entropy
* randomness source available, it will fail. As a last resort,
* for non-critical systems, define
* <code>Auth_OpenID_RAND_SOURCE</code> as <code>null</code>, and
* the code will fall back on a pseudo-random number generator.
Итак, если вы определите эту константу как NULL, И она не сможет найти какой-либо другой источник энтропии, это будет означать, что у вас вообще нет источника энтропии - в основном, шифрование не будет. Вот что Википедия должна сказать о / dev / urandom:
Аналогом / dev / random является / dev / urandom («разблокированный» / неблокирующий случайный источник [4]), который повторно использует внутренний пул для генерации большего количества псевдослучайных битов. Это означает, что вызов не будет блокироваться, но выходные данные могут содержать меньше энтропии, чем соответствующее чтение из / dev / random. Намерение состоит в том, чтобы служить криптографически безопасным генератором псевдослучайных чисел. Это может быть использовано для менее безопасных приложений.
Что касается источников энтропии в Win32, то, похоже, не так много хороших опций, доступных для вашей пользовательской среды PHP.