asp.net中读取带有加号(+)的Cookie,会自动把加号替换为空格

   今天在做Cookie的验证时,发现怎么验证都不对,而奇怪的是之前验证是正常的,这次只是改了一个值,经过调试发现在浏览器中一个Cookie的值为 “lV502ZEaL75+9l5GJQHhDg==”,但在程序中读到的却是“lV502ZEaL75 9l5GJQHhDg==”,原来Cookie中的加号已经被替换为空格,谷歌搜了一下,发现MS网上有一编这方面的帮助文档,“ASP May Improperly Parse Cookies Containing a Plus Sign”,不过讲的是asp和IIS4.0.

  我的Cookie是用DES加密的,因为之前的值加密号没有出现加号,而后面换了另外一个值时出现加号,导致验证失败。

解决方案:

使用String.Replace("+", "%2B")先将空格编码 

posted @   春哥也编程  阅读(1159)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示