我收到了编码的查询字符串,其中包含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):"";
答案 0 :(得分:1)
%00是空字符的ascii。我怀疑这就是此时字符串被终止的原因。
我建议您使用不同的格式或方法来创建哈希标记,也许可以将其创建为十六进制值,例如;
B73A21FBCE3921E5DD0C935AB4D710DD
MD5哈希通常表示为32位十六进制数。这对于在查询字符串中传递会更友好。