我在我的登錄模型中實現了用於解密/加密用戶密碼(在加密版本中存儲在cookie中)的函數。除非重新啓動瀏覽器並嘗試使用cookie以密碼登錄時,所有工作都正常。添加空格來加密密碼?
解析器告訴我這是錯誤的密碼,即使我可以看到它是正確的,當我回顯出來。因此,我嘗試了一個「strlen」來查看密碼有多少個字符,並且它說32(!)。我能想到的唯一的事情就是(在這種情況下)已經添加了28個空白空間,這是無法用回聲看到的。
我真的很感激,如果有人能告訴我發生了什麼事以及如何解決它?
function decrypt($encrypedText) {
$key = "The secret key is";
$decryptedText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($encrypedText), MCRYPT_MODE_ECB);
echo $decryptedText; // "abcd" <- what I put in
echo strlen($decryptedText); // 32 (?)
return $decryptedText;
}
你在哪裏定義'$ decryptedText'?它沒有在函數中分配,它既不是參數也不是全局的。 – andrewsi
[Everything](http://www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html)你[是](http://stackoverflow.com/questions/1054022/最好的方式來存儲在數據庫中的密碼)嘗試[](http://stackoverflow.com/questions/947618/how-to-best-store-user-information-and-user-login-and -password)do是[wrong。](http://blog.moertel.com/articles/2006/12/15/never-store-passwords-in-a-database)請停止你正在做的事,並瞭解正確的密碼存儲和處理。 – DampeS8N
@ DampeS8N:這只是我現在學習cookie的一個實驗。 – holyredbeard