php登陆页的密码处理方式分享


Posted in PHP onOctober 14, 2013

控制器里面:elseif(!$model->validatePassword($data->password))

<?php   
class XBaseModel extends CActiveRecord 
{ 
    /** 
     * 检测用户密码 
     * 
     * @return boolean 
     */
    public function validatePassword ($password) 
    { 
        return $this->hashPassword($this->password) === $password; 
    } 
    /** 
     * 密码进行加密 
     * @return string password 
     */
    public function hashPassword ($password) 
    { 
        return md5($password); 
    } 
}

或是:

if ($user && $user->password == $user->hashPassword($this->password, $user->salt)) {

public function validatePassword($password) { 
        return $this->hashPassword($password, $this->salt) === $this->password; 
    }  public function hashPassword($password, $salt) { 
        return md5(md5($password) . $salt); 
    } 
public function generateSalt() { 
$str = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
$len = strlen($str) - 1; 
$string = ''; 
for ($i = 0; $i < 6; $i++) { 
$string .= $str[mt_rand(0, $len)]; 
} 
return $string; 
}

或是:

public function validatePassword($password) {         return $this->hashPassword($password,$this->salt)===$this->password; 
    } 
  
    public function hashPassword($password,$salt) 
    { 
        return md5($salt.$password); 
    } 
  
    protected function generateSalt() 
    { 
        return uniqid('',true); 
    }

注意:如果有salt,数据库里面字段要有salt。。

PHP 相关文章推荐
不用iconv库的gb2312与utf-8的互换函数
Oct 09 PHP
PHP安装攻略:常见问题解答(二)
Oct 09 PHP
一个自定义位数的php多用户计数器代码
Mar 11 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
Laravel框架中实现使用阿里云ACE缓存服务
Feb 10 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
Feb 15 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 #PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 #PHP
php检测网页是否被百度收录的函数代码
Oct 09 #PHP
php MessagePack介绍
Oct 06 #PHP
php 批量替换程序的具体实现代码
Oct 04 #PHP
php5.5中类级别的常量使用介绍
Oct 02 #PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 #PHP
You might like
php合并数组并保留键值的实现方法
2018/03/12 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
jquery 笔记 事件
2011/11/02 Javascript
javascript之Partial Application学习
2013/01/10 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
js获取域名的方法
2015/01/27 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
详解Django通用视图中的函数包装
2015/07/21 Python
Python简单读取json文件功能示例
2017/11/30 Python
Python中turtle库的使用实例
2019/09/09 Python
python3实现单目标粒子群算法
2019/11/14 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
美国著名手表网站:Timepiece
2017/11/15 全球购物
编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的
2015/07/23 面试题
JAVA中运算符的分类及举例
2015/09/12 面试题
高一自我鉴定
2013/12/17 职场文书
2013的个人自我评价
2013/12/26 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
优秀员工推荐材料
2014/12/20 职场文书
大学生自荐书范文
2015/03/05 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python