设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> PHP教学 >> php技巧 >> 教程正文
向普通人加密 用PHP程序保护数据
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-1

<?php
$user = strip_tags(substr($_POST['user'],0,32));
$pw = strip_tags(substr($_POST['password'],0,32));
$cleanpw = crypt(md5($pw),md5($user));

$sql = "select user,password from users
where user='". mysql_real_escape_string($user)."'
and password='". mysql_real_escape_string($cleanpw)."'
limit 1';
$result = mysql_query($sql);

if (mysql_num_rows($result)){
//we have a match!
}else{
//no match
}
?>
例如,如果存储的加密密码是 i83Uw28jKzBrZF,则加密存储传入的密码,并将它与存储的密码进行比较。攻击者破坏加密的惟一方法是将一个非常长的字符串列表与您的加密密码进行比较,每次比较一个,直到找到匹配项。这也称为字典攻击,因此您的密码最好不应该是密码 或 Star Trek 字符名,甚至您的呢称。因为在加密 Fido 后,它会变成一堆乱语,但这并不表明它对于此种攻击是安全的。确保您的密码具有某一长度(八个或更多字符),并包含大写字母、数字和特定的字符,如 ! 和 $,这样猜测您的数据会更加困难。在短语中,f1D0! 是一个较好的密码,它胜于 GandalftheGray 之类的长密码,由于后者使用小写字母,并且是 “Lord of the Rings” 的字符名称。

使用 crypt() 的一种不太好的方法

还有使用 crypt() 的另一种方法,这种方法不太好:将明文的前 n 个字符用作 salt。

清单 7. 将明文字符用于 salt

<?php
$user = strip_tags(substr($_POST['user'],0,32));
$pw = strip_tags(substr($_POST['password'],0,32));
$cleanpw =crypt($pw, substr($user,0,2));

$sql = "select user,password from users
where user='". mysql_real_escape_string($user)."'
and password='". mysql_real_escape_string($cleanpw)."'
limit 1';
$result = mysql_query($sql);

if (mysql_num_rows($result)){
//we have a match!
}else{
//no match
}
?>

如果您的用户名是 tmyer,则 salt 预置为 tm,它会使某人很容易推断 salt 的内容。这不是一个好方法。

使用 PHP 进行加密和解密

本文的大部分篇幅讨论了使用 crypt() 的单向加密。但是,如果您要将消息发送给某人,并提供对该消息解密的方法,又该如何办呢?请使用 PHP 支持的公钥加密技术。

使用公钥加密的用户拥有一个私钥和一个公钥,并且他们与其他用户共享公钥。如果您要将一封私有短信发送给您的朋友 John Doe,您可以使用 John Doe 的公钥(您已经将其存储在自已的 keyring 中)加密该消息。John Doe 收到该消息后,只有他可以使用他的私钥对其解密。任何给定用户的公钥和私钥在数学上是不能相关的。对于 P

上一页  [1] [2] [3] [4] [5] [6] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
php技巧热门文章
普通教程 PHP用户指南-cookies部分
普通教程 PHP对文本数据库的基本操作方法
普通教程 WAP与PHP程序设计之基础篇
普通教程 PHP 5.0中多态性的实现方案浅析
普通教程 用PHP读取和编写XML DOM
普通教程 用新PHP插件实现MySQL为基础的
普通教程 PHP5中PDO的简单使用
普通教程 如何利用PHP和CSS改变网页文字
普通教程 PHP中使用crypt()实现用户身份
普通教程 通过缓存数据库结果提高PHP性能
普通教程 PHP5中的this,self和parent关键
普通教程 利用PHP的OOP特性实现数据保护
普通教程 ppform还真是个不错的工具 — 
普通教程 PHP has encountered an Acces
普通教程 向普通人加密 用PHP程序保护数
普通教程 怎样才能成为PHP高手?学会懒惰
普通教程 Linux操作系统中用PHP构建网站
普通教程 PHP 中的 SimpleXML 处理
普通教程 更好的构造开发模板 五种PHP设
普通教程 怎样在PHP 中运用 SimpleXML 处

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号