编码ASCII字符0终止经典ASP中的查询字符串

时间:2012-04-03 08:29:30

标签: asp-classic ascii url-encoding request.querystring

我收到了编码的查询字符串,其中包含ASCII字符0(http://localhost/Test_Authentication.asp?token=%13%23%02%00%01%01%00%01%01%05%02%02%03%00%02%02%0A%0A%0A%0A%0A%0A048),当我检索该值时,字符串终止于该位置(%00)。我该如何解决这个问题?

以下是我的代码。

Response.CharSet = "utf-8";
Session.CodePage=65001;

var strToken = (Request.QueryString("token").Count > 0)?Request.QueryString("token")(1):"";

1 个答案:

答案 0 :(得分:1)

%00是空字符的ascii。我怀疑这就是此时字符串被终止的原因。

我建议您使用不同的格式或方法来创建哈希标记,也许可以将其创建为十六进制值,例如;

B73A21FBCE3921E5DD0C935AB4D710DD

MD5哈希通常表示为32位十六进制数。这对于在查询字符串中传递会更友好。