2010-03-08 51 views
2

我一直在尋找到使用OpenID爲即將開展的項目,我將要工作的。通過一些教程上Janrain的PHP實現OpenID的閱讀,並通過源代碼細算我上傳到我的服務器,並測試了包括與我的谷歌ID的示例腳本,我是獲取有關Auth_OpenID_RAND_SOURCE在CryptUtil.php一些錯誤沒有被設置正常。我通過Google找到了一個答案,將其定義爲null,而不是默認的/ dev/urandom。我的問題是,這顯然不安全嗎?並在Linux/dev/urandom隨機數發生器?在我的家用Windows機器上使用/ dev/urandom來解決實現問題有什麼好的選擇?OpenID的PHP庫Janrain,並設置Auth_OpenID_RAND_SOURCE爲null

回答

1

好了,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 
    * Auth_OpenID_RAND_SOURCE as null, and 
    * the code will fall back on a pseudo-random number generator. 

所以,如果你定義了這個常量爲NULL,這是無法找到熵任何其他來源,這將意味着你沒有熵源根本不會有加密。這是什麼wikipedia不得不說關於/ dev/urandom:

/dev/urandom的對應/ dev/urandom(「解鎖」/非阻塞隨機源[4])重用內部池到產生更多的僞隨機比特。這意味着調用不會阻塞,但是輸出可能包含比從/ dev/random讀取的相應更少的熵。其目的是作爲密碼安全的僞隨機數發生器。這可能會用於不太安全的應用程序。

至於在Win32熵透露,目前似乎沒有很多的提供給您的PHP用戶空間不錯的選擇。