string emailfield=txtEmail.Text.ToString();
string url =
"http://localhost:3076/user/Authenticate-Users.aspx?email="+emailfield;
我想加密查询字符串然后解密。有没有办法在C#中做到这一点?
由于
答案 0 :(得分:7)
您可以将名称/值集合加密为字符串,然后将该加密字符串作为单个查询参数传递。
我在文章Encrypting Query Arguments中演示了这种技巧。
答案 1 :(得分:2)
由于加密数据很可能包含特殊字符,因此必须使用base64编码或类似字符。
你可以找到一个编码/解码类,为你做脏工作。他们中的很多人都在那里。 Here is one example.
答案 2 :(得分:0)
答案 3 :(得分:0)
更简单的解决方案可能是在创建GUID时将GUID与用户帐户一起存储。例如,您可以将其称为VerificationCode
。当您创建用户帐户时,您随机存储一个GUID,例如120a9c10-4f2e-11e0-b8af-0800200c9a66。
现在,在激活链接中,您嵌入了GUID而不是电子邮件地址:
http://localhost:3076/user/Authenticate-Users.aspx?code=120a9c10-4f2e-11e0-b8af-0800200c9a66
当页面执行时,它会通过GUID查找用户以标记该帐户已被确认。