首页 新闻 会员 周边

想做一个url参数加密,但是项目本身使用了Routing,遇到一些问题大家帮忙看看。

0
[待解决问题]

项目传递参数的时候想把参数值进行加密,如下:

源地址

newsedit.aspx?id=1

规则 news-edit-{id}   对应   newsedit.aspx

伪静态地址

http://www.xxxx.com/news-edit-1

如上这样的url,最后的1表示的是参数植,想把这个参数植进行加密,

http://www.xxxx.com/news-edit-xxxxxxxxxxxx 类似于这样的。格式。

考虑使用base64进行编码下,但是编码后可能会产生“/”,“+”这样的符号。会导致伪静态失效。

后面试着想把 “/”,“+”符号替换掉,考虑到要保持url的美观,就打算替换成“-”,“_"这两个字符,问题又来了,按我上面的配置伪静态配置替换成”-“或”_“ 又会出问题。各位朋友有没有什么好的建议。

yzy的主页 yzy | 菜鸟二级 | 园豆:317
提问于:2015-01-26 10:46
< >
分享
所有回答(5)
0

还是在后台把id和用户做下权限判断吧,我感觉你加密了也是起不到你想要的作用的

刘宏玺 | 园豆:14020 (专家六级) | 2015-01-26 11:16

后台已经做了权限验证了。只是想在进行一层加密。加深一道防护措施。

支持(0) 反对(0) yzy | 园豆:317 (菜鸟二级) | 2015-01-26 11:17

@yzy: base64一看就破,加了和没加效果一样,还是说你还要盐化一下,我觉得什么都不加最好看了

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2015-01-26 11:20

@刘宏玺: AES 加密也可以。这个加密出来也会存在/ = + 这类字符,不是很好处理。感觉

支持(0) 反对(0) yzy | 园豆:317 (菜鸟二级) | 2015-01-26 11:21
0
爱编程的大叔 | 园豆:30839 (高人七级) | 2015-01-26 11:25
0

没那么复杂,把加密后的字节数组用 HEX 编码就行了。

Launcher | 园豆:45045 (高人七级) | 2015-01-26 11:26
0

把加密后的字符串再进行HttpUtility.UrlEncode()一下就可以了

netqiang | 园豆:405 (菜鸟二级) | 2015-02-27 10:40
0

DES加密解密 +编码后,有特殊字符也没问题了,除非被拿到可以key,要不一般是没问题的

Artikel | 园豆:387 (菜鸟二级) | 2015-12-18 15:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册