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中输出转义JavaScript代码的实现代码
Apr 22 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
Aug 12 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
PHP独立Session数据库存储操作类分享
Jun 11 PHP
PHP新建类问题分析及解决思路
Nov 19 PHP
php 可变函数使用小结
Jun 12 PHP
PHP信号处理机制的操作代码讲解
Apr 19 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
php实现简易计算器
Aug 28 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的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
PHP利用curl发送HTTP请求的实例代码
2020/07/09 PHP
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
JS实现div居中示例
2014/04/17 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
jQuery中hasClass()方法用法实例
2015/01/06 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
2015/01/08 Javascript
JS弹出可拖拽可关闭的div层完整实例
2015/02/13 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
go语言计算两个时间的时间差方法
2015/03/13 Python
Python中使用partial改变方法默认参数实例
2015/04/28 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
八年级物理教学反思
2014/01/19 职场文书
开会迟到检讨书
2014/02/03 职场文书
普通党员个人整改措施
2014/10/27 职场文书
向女朋友道歉的话
2015/01/20 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书