簡體   English   中英

如何在C#中的Cookie中存儲加密密碼?

[英]How to store Encrypted Password in cookies in C#?

我想將用戶名和密碼存儲在cookie中。 我使用MD5哈希技術對密碼進行了加密。 那么我該如何將加密的密碼存儲在Cookie中呢?

那不是辦法。 您輸入了一些參數,例如時間戳,用戶代理,當前ip,用戶名等。但沒有輸入Password 現在為您的令牌計算哈希值並將其作為cookie發送。 那就是如何制作認證令牌。

為了在登錄時對用戶進行身份驗證,請在服務器上計算哈希值,並將其與數據庫中的哈希值進行比較。 永遠不要在線發送您的哈希密碼。 為了獲得更好的條件,您應該使用鹽腌哈希作為密碼。 看到以了解鹽。

此外,MD5不是哈希,而是加密。 兩者之間有很多區別。 另外,使用SHA代替MD5。 請參閱了解詳情。

您不應將用戶名和密碼存儲在Cookie中,因為用戶名和密碼已發送給客戶端。 即使它是經過哈希處理的,特別是如果您要直接將cookie中收到的哈希密碼與數據庫中的哈希密碼進行比較。 這破壞了哈希的目的。

如果要保留兩次請求之間的用戶會話,則應使用會話ID。 我不是C#專家,但是通過一個快速的Google我發現了這一點:

HttpContext.Current.Session.SessionID

那就是我要存儲在cookie中的內容。

我不會推薦給任何人...

而是保存從用戶那里獲得密碼。 將它們保存在會話中以在整個用戶連接期間使用,如果您希望用戶使用相同的密碼並稍后登錄,則必須有一個數據庫來存儲數據。

所以存儲信息如下

Session["username"] = txtusername.Text;

然后在其他頁面或其他地方再次使用它

string username = Session["username"].toString();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM