解析PHP安全编程的加密功能(2)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:如何在PHP中将图片存放ORACLE中
我这里提供一个用PHP操纵blob字段的例子给你,希望能有所帮助! 这个例子是把用户上传的图片文件存放到BLOB中。 假设有一个表,结构如下: 以

以下为引用的内容:

crypt()和Apache的口令-应答验证系统的应用

= "localhost";
= "zorro";
= "hellodolly";
= "users";

// Set authorization to False

= 0;

// Verify that user has entered username and password

if (isset() && isset()) :

mysql_pconnect(, , ) or die("Can''t connect to MySQL
server!");

mysql_select_db() or die("Can''t select database!");

// Perform the encryption
= substr(, 0, 2);
= crypt(, );

// Build the query

= "SELECT username FROM members WHERE
username = '''' AND
password = ''''";

// Execute the query

if (mysql_numrows(mysql_query()) == 1) :
= 1;
endif;

endif;

// confirm authorization

if (! ) :

header(''WWW-Authenticate: Basic realm="rivate"'');
header(''HTTP/1.0 401 Unauthorized'');
print "You are unauthorized to enter this area.";
exit;

else :

print "This is the secret data!";

endif;

?>

上面就是一个核实用户访问权限的简单身份验证系统。在使用crypt()保护重要的机密资料时,记住在缺省状态下使用的crypt()并不是最安全的,只能用在对安全性要求较低的系统中,如果需要较高的安全性能,就需要我在本篇文章的后面介绍的算法。

下面我将介绍另一个PHP支持的函数━━md5(),这一函数使用MD5散列算法,它有几种很有趣的用法值得一提:

混编
一个混编函数可以将一个可变长度的信息变换为具有固定长度被混编过的输出,也被称作“信息文摘”。这是十分有用的,因为一个固定长度的字符串可以用来检查文件的完整性和验证数字签名以及用户身份验证。由于它适合于PHP,PHP内置的md5()混编函数将把一个可变长度的信息转换为128位(32个字符)的信息文摘。混编的一个有趣的特点是不能通过分析混编后的信息得到原来的明码,因为混编后的结果与原来的明码内容没有依赖关系。 即便只改变一个字符串中的一个字符,也将使得MD5混编算法计算出二个截然不同的结果。我们首先来看下表的内容及其相应的结果:

分享:解析PHP在linxu下的安装与配置
环境需求与准备工作 在安装 PHP 做为 WWW 服务器的一部份时,我们可以考虑用 UNIX 操作系统;或者是 Windows NT/95 等 Win32 API 的平台。当然,大部份的人都会使用 UNIX 来当作 PHP 的

来源:模板无忧//所属分类:PHP教程/更新时间:2009-09-17
相关PHP教程