一、 Md5加密算法
Md5()常用于密码(数字)的加密 不可逆加密
语法:string md5($str[,bool$raw_output=false]);
$raw_output如果可选的该参数被设置为true,那么md5报文摘要以16字节长度的原始二进制格式返回,否则32位字符十六进制数字形式散列值返回
二、 Crypt加密算法
不可逆加密,数字、字符的加密
语法:string crypt(string $str[,string $salt])
Crypt()返回一个基于标准NUIX DES算法或者系统上其他可用的替代算法的散列字符串
$salt加密时的干扰串,使编码更安全
注:如果加密时没有加上$salt参数,
将随机生成一个干扰串,否则刷新加密密文不变
三、 Sha1加密算法
语法:string sha1(string $str[,bool $raw_output=false]);
不可逆加密
$raw_output为TRUE,则sha1以20字符长度的原始格式返回
为FALSE,则sha1以40字符的十六进制数字输出
四、 URL编码加密技术
语法:string urlencode($str); 编码URL字符串
偏于将字符串编码并将其用于URL请求部分,也可将变量传递给下一页,返回字符串,此时除了‘-_.’之外的所有非数字字符都将被替换成百分号(%)后跟两位十六进制数,空格编码为(+);
urlencode($str); 加密
urldecode($str) 解密
加密字符:
? %3F
= %3D
空格 +
% %25
& %26
\ %5C
+ %2B
在传参时的应用:
<a href=’urlencode.php?username=abs&king&age=2’>测试urlencode</a>
//输出结果
Array([‘username’]=>abs,[king]=>’’,[‘age’]=>2);
$username= abs&king;
$queryString=” username=”.urlencode($username).”&age=2”;
<a href=”urlencode.php? $queryString”>测试urlencode</a>
//输出结果
Array([‘username’]=>abs&king,[‘age’]=>2);
Rawurlencode(string $str):按照RFC1738对URL进行编码
返回值:返回字符串,将空格编码为%20
Rawurldecode(string $str) 对已经编码的URL字符串进行解码
返回值:返回字符串,此字符串中百分号%后跟两位十六进制的序列都将被替换成原义字符。
五、 Base64信息编码加密技术
base64对文本、图片进行编码
语法:string base64_encode(string $data);
该编码是为了使二进制数据可以通过非纯8-bit的传输层传输
base64_encode数据比原始数据多用33%的空间
string base64_decode(string $data[,bool $strict =false])
//解码
strict 如果输入的数据超过了base64字符表,返回false
$filename =’1.jpg’;
$data = file_get_contents($filename);
Echo base64_encode($data);
六、 信息技术加密
1、 单项散列加密
通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,既不能对固定长度的输出进行计算从而获得输入信息。
2、 对称散列加密
加密和解密使用同一个密钥,可以相互推算
3、 非对称散列加密
加密和解密使用不同的密钥,其中一个对外公开,被称作公钥,另一个只有使用者知道。