0

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):"";
4

1 に答える 1

1

%00はヌル文字のASCIIです。これが、この時点で文字列が終了している理由だと思います。

ハッシュトークンの作成には別の形式または方法を使用することをお勧めします。おそらく、代わりに16進値として作成するものです。

B73A21FBCE3921E5DD0C935AB4D710DD

MD5ハッシュは通常、32桁の16進数として表されます。これは、クエリ文字列で渡すのにはるかに便利です。

于 2012-04-03T14:54:04.083 に答える