-1

编辑1:也许我之前不是很清楚。对于以下情况,我想知道最佳/标准方法。

我有一个 .NET 4 Web 应用程序,出于各种原因,我需要向我们的客户发送唯一链接。(如密码重置、邀请、帐户验证等)

链接结构通常是mysite/some-action?key=some-unique-value

我应该怎么做才能生成“一些独特的价值”部分?无论采用何种方法,它都不应该破坏我的 URL。

我发现一些关于 SO 的问题接近我的需要,但不能完全确定。
也让我知道是否有更好/标准的方法来实现这种功能。谢谢。

4

3 回答 3

1

假设您得到一个字节数组 - 您可以使用以下方法将其转换为十六进制:

BitConverter.ToString(bytes);

您可能希望使用SHA1等哈希算法来代替加密。

于 2013-05-19T08:54:26.097 回答
1

您可以尝试加密您的查询字符串参数,是一个很好的解释。(来源

于 2013-05-19T09:01:41.643 回答
0

使用 server.UrlEncode 进行编码,使用 Server.UrlDecode 进行解码

Dim Url As String = "something.aspx?" 
Url & = "key = " & Server.UrlEncode("someUniqueValue")

编辑:您不必在服务器上解码 url 字符串,因为它由 asp.net 自动解码,并且第二次解码可能会导致问题,特别是如果您的原始 url 包含将被解码为空格的“+” .

于 2013-05-19T09:57:35.943 回答