我编写的代码从URL中获取一个密码,然后加密密码。我知道想要将加密的“密钥”放回URL而不是原始Pin。怎么办呢?
我抓住了Pin:
string Pin = Request.QueryString["PIN"];
是否有相反的做法将其放回网址?
非常感谢。
感谢您的反馈。 是的我知道这一点,但它是好的,因为它只是为了学习目的。不会使用敏感信息。
这只是我正在制作的一个小程序。
它现在有效,唯一的问题是使用后:
Response.Redirect("page.aspx?key=" + encryptedKey);
我似乎无法在页面上显示任何内容;例如,更新标签。
答案 0 :(得分:5)
您必须重定向到包含“已调整”查询字符串的网页
var encryptedKey = EncryptPin(Request.QueryString["PIN"]);
Response.Redirect("page.aspx?key=" + encryptedKey);
但是,这样的信息实际上不应该在查询字符串中发送,即使它是加密的。使用Session
,或者更好的是,使用适当的会话管理器并在其中存储信息。
我个人从不在querystring中存储任何内容,但必须承认,在某些情况下可能会发生这种情况。
想一想这个,我注意到你显然是在当前查询字符串中将用户的“Pin”发送到另一个页面。请考虑一下这方面的安全考虑因素。添加到我的观点,可能不会使用查询字符串来获取某些信息;
您应绝对不将其用于此类敏感信息。
这将存储在各个地方,任何关心外观的人都可以轻松访问,并可能导致用户帐户受到损害。