PHP的几种加密解密算法
一、开发环境
1、Windows+Apache+MySQL+PHP的环境。
2、文本编辑器:Sublime。
二、主要技术
PHP
三、实验内容与结果
本文主要介绍PHP的几种加密解密技术。主要有md5、crypt、sha1、base64_encode(base64_decode)、urlencode(urldecode)还有一种自定义的数字加密算法。下面主要通过几个例子来展示其加密效果。
3.1、md5加密技术
Md5是一种单向的加密技术,不可逆,不能进行解密。md5() 函数使用 RSA 数据安全,包括 MD5 报文摘要算法。MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的"指纹信息"或"报文摘要"值来代表这个输入值,并以换算后的值作为结果。
(1)实现过程
<?php
/**
*md5加密算法
*/
echo"<form action='' method='post'>";
echo "<input type='text'name='text'>";
echo "<input type='submit' name='sub'value='md5加密'>";
echo "</form>";
// md5加密
if(isset($_POST['sub'])){
$str=$_POST['text'];
$md5str=md5($str);
echo "加密结果:".$md5str;
}
?>
(2)结果测试
比如输入“123$#%d&3e*wsc”进行测试,将会得到如图1所示的加密结果。
图1. md5加密结果测试
3.2、crypt加密技术
crypt是一种单向的加密技术,不可逆,不能进行解密。具体的算法依赖于 salt 参数的格式和长度。通过增加由使用特定加密方法的特定字符串所生成的字符串数量,salt可以使加密更安全。
(1)实现过程
<?php
/**
*crypt加密算法
*其单向加密,不可逆,不可解密
*/
echo "<form action=''method='post'>";
echo "<input type='text'name='text'>";
echo "<input type='submit'name='sub' value='crypt加密'>";
echo "</form>";