干货分享,灵感创作,不定期更新,敬请期待。

php加解密的用途

php xhq 2804℃ 0评论

以前在其他网站下载过一个例子,是关于注册和找回密码的,现在重点说说找回密码,

  1. 重置链接的时效性
  2. 重置链接的有效性

确保时效性的做法是用户表增加一个专门用于记录发送重置密码链接的时间,每次发送了重置邮件给插入或更新时间,再跟点击链接的时间进行对比,超过了多长时间则无效。
确保有效性的做法是发送重置链接时从数据库中取出id(或其他唯一标识)和密码,把他们合并到一起,再md5他们的字符串,得到一个验证值,这个验证值岁重置链接一起发送到邮箱,最后验证的时候从数据库里再取一遍,用相同的算法的到一个值进行对比,相同则通过。
其实还有另外的做法,就是用加解密算法
加解密算法有哪些,

  1. discuz系统有自己的加解密算法
  2. onethink系统也有
  3. ……

另外要说的仅仅用php原生的加解密函数过于简单。不过discuz的自定义加密函数的返回值会有‘+’和‘/’字符,会对URL的解析造成影响(起码我遇到的情况是这样),所以就用了onethink的,函数可以设置key值和过期时间,在过期时间之前可以解密回原来的字符串,否则返回空,这样既可以保证有效性,也可以保证时效性了,
这样就为数据表省去了一个字段,多么机智的做法

转载请注明:爱游思 » php加解密的用途

喜欢 (5)

您必须 登录 才能发表评论!