如何替换查询字符串中的值?

Mac*_*Mac 1 c# asp.net encryption query-string

我编写了代码,从URL中获取一个密码,然后加密密码.我知道想要将加密的"密钥"放回URL而不是原始Pin.如何才能做到这一点?

我抓住了Pin:

string Pin = Request.QueryString["PIN"];
Run Code Online (Sandbox Code Playgroud)

是否有相反的方法将其放回URL中?

非常感谢.


感谢您的反馈意见.是的我知道这一点,但它是好的,因为它只是为了学习目的.不会使用敏感信息.

这只是我正在研究的一个小程序.

它现在有效,唯一的问题是使用后:

Response.Redirect("page.aspx?key=" + encryptedKey);
Run Code Online (Sandbox Code Playgroud)

我似乎无法在页面上显示任何内容; 例如,更新标签.

Chr*_*int 5

您将不得不重定向到具有"已调整"查询字符串的页面;

var encryptedKey = EncryptPin(Request.QueryString["PIN"]);
Response.Redirect("page.aspx?key=" + encryptedKey);
Run Code Online (Sandbox Code Playgroud)

但是,这样的信息实际上不应该在查询字符串中发送,即使它是加密的.使用Session甚至更好的会话管理器并在其中存储信息.

个人从不在querystring中存储任何东西,但不得不承认,它可能必须在某些情况下发生.

再考虑一下这一点,我注意到你显然是在当前查询字符串中将用户的"Pin"发送到另一个页面.请考虑一下这方面的安全考虑因素.添加到我的观点,可能不会使用查询字符串来获取某些信息;

绝对不应该 将它用于此类敏感信息.

这将存储在各个地方,任何关心外观并可能导致用户帐户受到损害的人都可以轻松访问.