url中id加密解密

[cc lang=”c” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
xxx.com/order_id=888
xxx.com/order/888
[/cc]
我们通常不喜欢在URL中出现上面这些URL,因为存放在我们数据库表中的主键ID正暴露在用户甚至黑客的面前,这是一件非常危险的事,所以我们通常的做法找到一个可以双向加密的算法对URL中的ID能够加密解密。

以下列了几种方法或者称为算法。


1.使用AES128的算法(使用mcrypt扩展实现)
[cc lang=”php” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
8A5A3714-C3FB-43A2-8918-19E9C32EDDF8
说明:
①需要安装mcrypt扩展
②生成的密文有点长,所以如果你不喜欢这种密文,可以考虑下一种
③我个人自测了1-10w的数字没有重复率现象,绝对可用

2.一个国外的哥们儿模仿YouTube的URL的算法
传送门网址 : http://kvz.io/blog/2009/06/10/create-short-ids-with-php-like-youtube-or-tinyurl/

说明:
①经得起考验:当时写PP校园时,正是使用了他这个算法进行ID的加密解密
②好看一些:加密的密文会随着ID的增大越来越长越来越复杂,而且较上一种还是挺好看的
③各种语言支持:不光有PHP版的,还有Java、Python、javascript、C#和Go的等等版本。

url中id加密解密
Tags:     

发表评论

电子邮件地址不会被公开。 必填项已用*标注