【问题标题】:How to encrypt query strings in asp.net?如何加密asp.net中的查询字符串?
【发布时间】:2010-12-02 08:21:26
【问题描述】:

如何在 aspx.net 中加密查询字符串?

附:我意识到这并不能提供安全性。我只是想混淆一个谜题。

P.P.S 虽然我将 CKret 的答案标记为正确的答案(对于措辞的问题,我相信他的答案是最正确的)。但是,就我自己而言,我只想尝试 ChoasPandion 的加密替代方案。如果我需要更多安全性,我会查看 CKret 或 Ian 的。

【问题讨论】:

  • 为什么加密查询字符串不能提供安全性,假设它是正确完成的?
  • 卢克,我应该说,我不是在寻找“安全性”。我只是想避免很多人专注于安全。

标签: .net asp.net encryption query-string obfuscation


【解决方案1】:

不要费心加密它。只需将其转换为 base 64 字符串即可。

string encoded = Convert.ToBase64String(Encoding.Unicode.GetBytes(myQueryStringValue));

【讨论】:

  • 请注意,此解决方案不提供安全性 - 仅提供混淆。 (默默无闻的安全性不是)。然而,在 OP 的情况下,他似乎最感兴趣的是混淆,而不是安全性,所以这可能是一个很好的解决方案,只要你对返回的字符串进行 UrlEncode。
  • 这就是我发布这个答案的原因。如果他真的需要安全,这将是一个糟糕的答案。
【解决方案2】:

如果您试图隐藏您的产品 ID 和类似的东西,那么为什么不直接使用 Encryption

我猜你想要做的是阻止人们编辑查询字符串以获得不同的结果。执行此操作的简单方法是将查询字符串的哈希添加到查询字符串,并让一些基本页面功能检查哈希对于请求是否正确,从而识别被篡改的查询字符串。

Prevent query string manipulation by adding a hash?

【讨论】:

  • 散列不同于加密。
猜你喜欢
  • 2010-09-19
  • 1970-01-01
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 1970-01-01
相关资源
最近更新 更多