在PHP中保護隨機數生成使用案例:“我忘了密碼”按鈕。我們找不到用戶的原始密碼,因為它以散列形式存儲,因此唯一要做的就是生成一個新的隨機密碼并通過電子郵件發送給他。這需要加密不可預測的隨機數,mt_rand不夠好,一般我們不能假設托管服務將提供對操作系統的訪問以安裝加密隨機數模塊等所以我正在尋找一種方法在PHP本身生成安全的隨機數。到目前為止我提出的解決方案涉及存儲初始種子,然后為每次調用,result = seed
seed = sha512(seed . mt_rand())這是基于sha512哈希函數的安全性(mt_rand調用只是為了獲得數據庫副本的對手的生活有點困難)。我錯過了什么,還是有更好的解決方案?
添加回答
舉報
0/150
提交
取消