浅析 PHP 中加密函数的应用
PHP 作为当今热门的网站程序开发语言广泛用于动态网站的开发,其开放的源代码、跨平台性强和面向对象的特点网站开发中得以充分体现,而内置的加密函数的应用增加了网站的安全系数。本文通过阐述 PHP 各类加密函数在简易的登陆页面和字符串转换方面的应用,着重体现了常见的加密函数在用 PHP 开发的 WEB 页面中的重要作用。
一、PHP 中常见的加密函数
1.1 应用 MD5 函数加密
MD5 函数是一种常用的加密算法,MD5 的全称是 Message.Digest Algorithm 5,Message.Digest 通常指的是字节串的 Hash 变换,即为把一个任意长度的字节串转换为一定长度的整数。MD5 将任意长度的字节串变换成一个 128 位的大整数,并且是一种不可逆的转换算法,即使我们看到了源代码和算法描述,也无法将一个 MD5 的值变回原来的字符串,从而保证了原始数据的安全。
MD5 函数用来计算字符串的 MD5 混合值。其语法为:String md5(string s);用 md5 函数获取字符串加密后的值,如:
<?php
$str = "abc";
$mstr = md5($str);
echo $mstr;
// 返回字符串加密后的值为“900150983cd24f0d6963f7d28e17f72”
?>
1.2 应用 CRYPT 函数加密
CRYPT 函数将字符串用 UNIX 的标准加密模块 DES 进行加密,是单向的加密函数,每次页面刷新后产生的密码值是不同的,无法解密。即可以实现加密一些明码,但不能将密文重新转换为明码。
其语法为:String crypt(string str, string [salt]);如果要比对字符串,将已加密的字符串的头两个字符放在 salt 的参数中,再比对加密后的字符 串。其中,参数 str 是要被加密的明码,参数 salt 是可选的一个位字串,能够影响到加密的暗码,进一步保证了密码的安全。
通常情况下,PHP 使用一个 2 个字符的 DES 干扰串。如果不使用 salt 参数,则程序会自动产生干扰串,如:
<?php
$str = "abc";
$mstr = crypt($str);
echo $mstr;
// 返回字符串加密后的值为“$15L60.2M1.$WWf) (Pw/SnI F G tT dnM V V dc。”
?>
二、加密技术在程序中的应用
在常见的 WEB 网站中,登录页面是必不可少的,用户登录的密码安全性要求自然不低。在以下常见的登录页面设计中,通过 MD5、CRYPT() 和 BASE64 编码的方式对用户的密码进行加密处理,着重体现 PHP 中加密技术在常见的网络程序的具体应用。
2.1 通过 CRYPT() 函数加密建立 displaycrypt.php,其代码的前半部分,主要用于加密用户的密码:
<?php
$str = "abc";
$mstr = crypt($str);
echo $mstr;
// 返回字符串加密后的值
?>
2.2 通过 MD5 函数加密建立 displaymd5.php,其代码的前半部分,主要用于加密用户的密码:
<?php
$str = "abc";
$mstr = md5($str);
echo $mstr;
// 返回字符串加密后的值
?>
2.3 通过 BASE64 编码加密建立 displaybase64.php,其代码的前半部分,主要用于加密用户的密码:
<?php
$str = "abc";
$mstr = base64_encode($str);
echo $mstr;
// 返回字符串加密后的值
?>
PHP 中的加密函数在 WEB 开发中的应用非常广泛,无论是在登录页面的密码加密还是在数据传输中的加密处理,PHP 的加密函数都可以发挥其重要作用为用户提供安全的数据传输和存储服务。