Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Cookie需要什么样的编码?_C#_Asp.net_Cookies_Encoding - Fatal编程技术网

C# Cookie需要什么样的编码?

C# Cookie需要什么样的编码?,c#,asp.net,cookies,encoding,C#,Asp.net,Cookies,Encoding,对于cookie应执行何种编码(将字节数组转换为文本) 你不需要任何编码。为了防止用户篡改,最简单的解决方案是使用(通常在幕后使用ASP.NET\u SessionId),而不是制作自定义cookie 编辑:如果您确实需要存储任意字节数组,则可以使用base 64。但是您应该解释为什么要这样做。我个人将MD5编码一个ID,并将几乎所有内容存储在数据库中,或者如果我可以更改数据库,请使用GUID而不是递增IDBase64编码字符串对URL或cookie无效。base64编码有许多变体可以避免禁用字

对于
cookie
应执行何种
编码(将字节数组转换为文本)


你不需要任何编码。为了防止用户篡改,最简单的解决方案是使用(通常在幕后使用
ASP.NET\u SessionId
),而不是制作自定义cookie


编辑:如果您确实需要存储任意字节数组,则可以使用base 64。但是您应该解释为什么要这样做。

我个人将MD5编码一个ID,并将几乎所有内容存储在数据库中,或者如果我可以更改数据库,请使用GUID而不是递增ID

Base64编码字符串对URL或cookie无效。base64编码有许多变体可以避免禁用字符。在.NET中,可以使用HttpServerUtility.UrlTokenEncode()和.UrlTokenDecode()


请参见

我的意思是,如果我要将字节数组转换为字符串,base64是否足够用于Cookie或URL编码?我只需要将一些数据从一台服务器传输到另一台服务器(都在同一域的子域上)。我需要确保我不会在cookie文本中使用无效字符。@Xaqron,通过cookie传输它可能会很危险,因为用户可以篡改它。@Mathew:我对它进行加密,并使用哈希对其进行防篡改。这就是为什么我需要知道是否需要任何编码。Base 64使用的字符对于cookie或URL不安全。@NeilWhitaker,谢谢。没错,=符号可能是个问题(它在base64和Cookie中都有含义)。我已经做到了。
Base64 ?
UrlEncode ?
...