2015-05-27 42 views
2

通過restful api將密碼傳遞給Web服務的正確方式是什麼(當用戶正在註冊或只是登錄時)?我應該如何儲存它?將密碼傳遞給Web服務並存儲它

從我的想法來看,我應該只存儲散列,例如MD5。但是從我在互聯網上可以讀到的內容來看,在「散列彩虹表」中查找散列似乎相當容易 - 所以存儲散列將等於存儲明文。如何正確地做到這一點?

信息:

  • .NET,C#
  • PostgreSQL的
+3

不使用md5。它在加密術語中基本上是「破碎的」。使用sha-256,並加適當的鹽分。 –

+0

在這個https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet上有一個OWASP建議 –

+0

存在大量的例子。 – Greg

回答

3

通過用戶名和密碼,以REST服務的方式是使用basic authentication scheme通過HTTPS。 HTTPS應該保護您的密碼在運輸途中被盜。

正如我在my answer here中解釋的那樣,爲您的服務使用基本身份驗證不是一個好主意。您最好使用安全令牌服務(STS)並使用承載認證

+1

+1在您的鏈接答案中引用OAuth2,這可能是給定問題的一個很好的解決方案。這裏是一個關於如何保護寧靜的Web服務的[簡要](http://blog.cloudfoundry.org/2012/10/09/oauth-rest/)示例。對於身份驗證,我會將它與[openID](http://openid.net/developers/libraries/) – kayess

+0

@NeilMcGuigan結合起來,我在哪裏說基本身份驗證是好的?有時候這是你擁有的唯一選擇。 – MvdD

相關問題