我需要发送经过加密的“ @id”参数(在浏览器搜索栏上),然后解密id以从“编辑”视图中获取id的值。如何使用AES密码学。
public ActionResult Edit(int? id)
{
return view(model);
}
答案 0 :(得分:1)
您无法加密和解密URL中查询字符串参数中的参数。如果要在客户端浏览器和主机系统之间传递参数,则必须将参数埋入主机和客户端之间的消息传递内容中,同时通过HTTPS对整个消息传递进行加密。
答案 1 :(得分:0)
您可以按照以下步骤操作:
步骤1: 在项目中创建一个新类,然后从This Link复制粘贴代码。
步骤2: 立即构建项目
第3步:
在页面(视图)顶部放置MyExtension
名称空间
@Html.EncodedActionLink(item.Name, "YourActionName", "YourControllerName", new { id = item.ID }, null)
第4步:
[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 };
更改为Decrypt
,并将{{1}中的Encrypt
方法更改为{{1} }类。