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")先将空格编码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架