[英]How can I encrypt the id querystring parameter
我需要發送帶有加密的“@id”參數(在瀏覽器搜索欄上),然后解密 id 以從編輯視圖中獲取 id 的值。如何使用 AES 加密。
public ActionResult Edit(int? id)
{
return view(model);
}
您無法加密和解密 URL 中查詢字符串參數中的參數。 如果要在客戶端瀏覽器和主機系統之間傳遞參數,則必須將參數隱藏在主機和客戶端之間的消息傳遞內容中,同時整個消息傳遞通過 HTTPS 進行加密。
您可以通過以下步驟完成:
第 1 步:在您的項目中創建一個新類並復制粘貼This Link 中的代碼。
第 2 步:立即構建項目
第 3 步:
將MyExtension
命名空間放在頁面頂部(視圖)
@Html.EncodedActionLink(item.Name, "YourActionName", "YourControllerName", new { id = item.ID }, null)
第四步:
[EncryptedActionParameter]
public ActionResult Edit(int? id)
{
return view(model);
}
編輯:在我做了上面的步驟后,我發現解密有問題,我改變了它。所以你需要改變byte[] IV = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
到byte[] IV = { 55, 34, 87, 64, 87, 195, 54, 21 };
在MyExtensions
類中的Decrypt
和Encrypt
方法中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.