通過restful api將密碼傳遞給Web服務的正確方式是什麼(當用戶正在註冊或只是登錄時)?我應該如何儲存它?將密碼傳遞給Web服務並存儲它
從我的想法來看,我應該只存儲散列,例如MD5。但是從我在互聯網上可以讀到的內容來看,在「散列彩虹表」中查找散列似乎相當容易 - 所以存儲散列將等於存儲明文。如何正確地做到這一點?
信息:
- .NET,C#
- PostgreSQL的
通過restful api將密碼傳遞給Web服務的正確方式是什麼(當用戶正在註冊或只是登錄時)?我應該如何儲存它?將密碼傳遞給Web服務並存儲它
從我的想法來看,我應該只存儲散列,例如MD5。但是從我在互聯網上可以讀到的內容來看,在「散列彩虹表」中查找散列似乎相當容易 - 所以存儲散列將等於存儲明文。如何正確地做到這一點?
信息:
通過用戶名和密碼,以REST服務的方式是使用basic authentication scheme通過HTTPS。 HTTPS應該保護您的密碼在運輸途中被盜。
正如我在my answer here中解釋的那樣,爲您的服務使用基本身份驗證不是一個好主意。您最好使用安全令牌服務(STS)並使用承載認證
不使用md5。它在加密術語中基本上是「破碎的」。使用sha-256,並加適當的鹽分。 –
在這個https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet上有一個OWASP建議 –
存在大量的例子。 – Greg