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 相关文章推荐
php5 and xml示例
Nov 22 PHP
PHP详细彻底学习Smarty
Mar 27 PHP
php empty函数 使用说明
Aug 10 PHP
PHP 命名空间实例说明
Jan 27 PHP
session在PHP大型web应用中的使用
Jun 25 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
使用PHP获取汉字的拼音(全部与首字母)
Jun 27 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
PHP实现获取文件后缀名的几种常用方法
Aug 08 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
Dec 19 PHP
smarty模板数学运算示例
Dec 11 PHP
php curl 模拟登录并获取数据实例详解
Dec 22 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程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
降低PHP Redis内存占用
2017/03/23 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
centos7上编译安装php7以php-fpm方式连接apache
2018/11/08 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
英国足球店:UK Soccer Shop
2017/11/19 全球购物
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
领导班子个人对照检查剖析材料
2014/09/29 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
2016中秋节广告语
2016/01/28 职场文书
Apache Linkis 中间件架构及快速安装步骤
2022/03/16 Servers
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android