我正在處理的網站以散列形式存儲電子郵件地址password_hash()
我知道它是用於passowrds的,但該網站已經啓動,因此無法返回。查看數據庫中的散列電子郵件地址
現在,當新用戶嘗試註冊時,我需要檢查用戶正在使用的電子郵件地址是否已經在數據庫中。但由於所有的電子郵件地址都是散列的,我不能簡單地使用:
$mail_query = mysql_query("SELECT email FROM userbase WHERE email='$email'");
$mail_num = mysql_num_rows($mail_query);
if ($mail_num != 0) {
$error = 'This email address is already in use.';
有沒有辦法做到這一點?
該網站使用舊的MySQL API。
如果你真的*做*以安全的方式使用password_hash,你必須*檢索每一個。單。郵件。地址。*在您的數據庫中。抱歉。問題是:*爲什麼你甚至會散列電子郵件地址*?如果你想 - 如果你想 - 我知道,荒謬的想法 - 你想要發送*電子郵件*給你的一個用戶? –
這個想法是在數據庫違規的情況下,用戶的電子郵件地址將保持不可讀。 – Menel
那麼你如何給你的用戶發郵件呢? – Sammitch