我正在實現一個應用程序,我必須將加密密碼插入MySQL數據庫。然後使用ColdFusion中的md5加密從數據庫中檢索解密的密碼。如何在Coldfusion的mysql數據庫中使用md5加密密碼字段
如何在ColdFusion中使用md5加密和MySQL數據庫?
我正在實現一個應用程序,我必須將加密密碼插入MySQL數據庫。然後使用ColdFusion中的md5加密從數據庫中檢索解密的密碼。如何在Coldfusion的mysql數據庫中使用md5加密密碼字段
如何在ColdFusion中使用md5加密和MySQL數據庫?
md5是one way hash,它不能顛倒。
您不應該在數據庫中存儲可解密的密碼。僅存儲md5哈希。當用戶嘗試登錄時,生成純文本密碼的md5散列。然後將其與存儲在數據庫中的md5哈希進行比較。
您可以使用md5函數可用於mysql本身。
然而,它在單向算法。
你不能解密它。您需要使用給定密碼的md5與存儲的密碼相對應。
瞭解更多信息,請覈對,
http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_md5
使用普通MD5是壞的。使用至少一個鹽,最好是密鑰派生函數,如PBKDF2 – CodesInChaos 2010-12-22 11:11:56
@CodeInChaos,PBKDF2用於創建派生密鑰。鹽!=一把鑰匙。鹽不應該以任何方式預測。換句話說,基於密碼的密鑰派生函數不適合密碼散列。 – Jacco 2010-12-22 13:40:13
@Jacco你通常會把密碼和鹽放進KDF。我不明白爲什麼KDF不適合密碼散列。因此,如果您在PBKDF中使用的salt是隨機的,那麼您不必調用MD5(密碼+鹽),而是調用SomePBKDF(密碼,salt) – CodesInChaos 2010-12-22 22:19:13