如题,敏感参数需要加密且可逆!
我现在的项目需要通过e-mail发送url,我之前用DES加密并通过UrlEncode进行编码,自己通过点击邮件的网址并打开,可以正常解析url并解开密码,没有任何错误,可是后台却接收到很多异常(我捕捉这个解密过程并产生错误日志):
=================================
比如url为:/login?ekey=cDn/vx7prYqoK4ZcvLsnTbdVIAiXx+27SCqW1q1rbSKLaNozphXhJg==
异常信息为:
System.FormatException: Base-64 字符数组的无效长度。
=================================
实在不明白为什么会这样(猜测可能是邮件客户端或接收邮件的网站不同,我自己测试了foxmail,163,sohu和QQ等邮局都是好的),请大家帮忙分析或给出更好的加解密方案,谢谢!
个人建议,把 ekey 参数的值记录下来,看看到底是哪个字符串出错了,然后同原始Url中的字符串作个比较,看是否一致.
因为base64里有=和/这两个字符吧,需要转义一下
Http.Utility.UrlEncode可以用不?