求get请求中参数加密解密算法

2013-04-22 10:19:54 +08:00
 workaholic
求get请求中参数加密解密算法,例如id值,加密后最好是定长的,字母和数字组合,谢谢
7054 次点击
所在节点    程序员
28 条回复
xing393939
2013-04-22 10:22:24 +08:00
办法太多了吧,自己弄个就行,用网上的说不定一眼就被人看出来了
workaholic
2013-04-22 10:24:53 +08:00
@xing393939 恩,感觉自己写的不太靠谱,最好有开源的,因为要长久使用
avichen
2013-04-22 10:27:47 +08:00
找一个可逆的加密算法不就可以了?
workaholic
2013-04-22 10:32:21 +08:00
都不太理想,主要是结果太长,而且容易造成url数据出错(有特殊字符),希望找个短一些的,固定长度最好,字母数字组合最好
lululau
2013-04-22 10:54:47 +08:00
什么应用场景?防作弊?用普通的对称加密,AES/DES 即可
BOYPT
2013-04-22 11:13:44 +08:00
定长这个要求就难了。

不定长AES/DES然后urlencode就好。
ayang23
2013-04-22 11:21:02 +08:00
难道是想防窃听?对称加密怎么加都解决不了这个问题。考虑用非对称的吧。重要数据用post比较方便吧、、
master
2013-04-22 11:35:59 +08:00
避免url数据出错没啥,不管啥加密到url最保险的做法基本都是最后BASE64+urlencode吧。。。。。。如果数据本身就长的话,那这么做肯定就更长了。。。。尽可能还是避免get,能post的还是post吧。
Cadina
2013-04-22 11:37:37 +08:00
@workaholic 加密成二进制数据后,用十六进制编码不就可以了?
xing393939
2013-04-22 13:37:07 +08:00
workaholic
2013-04-22 17:06:10 +08:00
@ayang23 不是。这个还真避免不了,因为是放在用户网页里面的一个链接,需要存id值
workaholic
2013-04-22 17:11:02 +08:00
@xing393939 谢谢,但是测试了不准,2147483642就不行
workaholic
2013-04-22 17:16:32 +08:00
@Cadina 这个看起来太明显了,例如 7FFFFFFF
binux
2013-04-22 17:48:07 +08:00
条件不明,要求固定长度,但是又不知道你id的长度范围,怎么固定?
需求不明,是不想被中间人知道,还是不想被用户端知道,亦或者仅仅不想在get中展示?
workaholic
2013-04-22 17:52:57 +08:00
@binux 你的逻辑我很是佩服
hpyhacking
2013-04-22 20:22:08 +08:00
@binux
@workaholic

一般这种情况是不想被用户端知道吧。
qq286735628
2013-04-22 20:24:03 +08:00
之前用过RC4+URLencode
ljbha007
2013-04-22 20:28:53 +08:00
最简单的办法就是用个密码字符串转成数字然后和ID异或
解密的时候就再异或一次就得到原来的ID了
只要猜不出来密码字符串就很难破解
binux
2013-04-22 21:12:02 +08:00
如果是不想被用户端知道,那根本就用不着什么加解密算法啊,随便给id建一个映射,保存在服务器端,把key发给用户端就好了,需要id的时候再转回来就完了
V2SK
2013-04-22 21:53:51 +08:00
@binux 这种方法不可靠吧,加密的目的就是让用户猜不到,建不建映射不都一样么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/66561

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX