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 相关文章推荐
PHP+MYSQL的文章管理系统(二)
Oct 09 PHP
php生成WAP页面
Oct 09 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
PHP获取时间排除周六、周日的两个方法
Jun 30 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
php中preg_replace_callback函数简单用法示例
Jul 21 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
Aug 27 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
重料打造自己的“宝马”---第三代
2021/03/02 无线电
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
smarty中常用方法实例总结
2015/08/07 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
高中毕业自我鉴定
2013/12/22 职场文书
园艺师求职信
2014/04/27 职场文书
开票员岗位职责
2015/02/12 职场文书
工程款申请报告
2015/05/15 职场文书
2016大学军训心得体会
2016/01/11 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书