PHP加密技术

(1) Md5() 加密算法 
语法:
string md5(string $str[,bool $raw_output = false])
:计算str的md5散列值
$str:原始字符串
$raw_output:如果可选的raw_output 被设置为true,那么md5报文摘要将以16字节长度的原始二进制格式返回。
返回以32位字符十六禁止数字形式返回散列值。

(2) Crypt()加密算法
语法:
string crypt(string $str[,string $salt]),
返回一个基于标准UNIX DES算法或系统上其它可用的替代算法的散列字符串。
$str:需要机密的明文
$salt:加密时的干扰串,使编码更安全
注意:
如果加密时没有加上这个$salt参数,将随机生成一个干扰串,否则刷新加密密文不变

(3) Sha1()加密算法 
语法:
string sha1(string $str[,bool $raw_output=false]):
计算字符串的sha1散列值
$str:加密的字符串
$raw_output: 如果可选的raw_output 参数被设置为 TRUE,那么sha1摘要将以20字符长度的原始格式返回,
否则返回值是一个40字符长度的十六进制数字。

返回sha1散列值字符串。

(4) URL编码加密技术

 urlencode(string $str): 编码URL字符串

$str:要编码的字符串
返回值:返回编码后的字符串

编码规范:此字符串中除了-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)
urldecode(string $str): 解码已编码的URL字符串。
str:要解码的字符串
返回值:返回解码后的字符串


例:
(a) if(!empty($_GET)){
       print_r($_GET);
}


echo "<a href='han.php?username=imooc&stone&age=2'>单击我</a>";
username值有特殊符号,所以
应该这样:


$username = 'imooc&king';
$queryString="username=".urlencode($username)."&age=2"; 
echo "<a href='han.php?{$queryString}'>单击我</a>";


(b)


rawurlencode(string $str):按照RFC1738对URL进行编码
$str:要编码的URL
返回值:返回字符串,把空格编码为%20

rawurldecode(string $str): 对已编码的URL字符串进行解码

$str:要解码的URL

返回值: 返回字符串,此字符串中百分号%后跟两位十六进制的序列都将被替换成原义字符

(5) Base64编码加密技术



base64_encode(string $data):使用base64对data进行编码
$data: 要编码的数据
base64_decode(string $data[,bool $strict=false]):对使用MIME base64编码的数据进行解码
$strict:如果输入的数据超出了base64字母表,则返回false




base64主要用在图片编码。


<img src="data:image/jpeg:;base64,xxxxx"/>
<img src="data:xxx"/>


总结,信息加密技术


1. 单项散列加密技术介绍
2. 对称加密技术介绍
3. 非对称加密技术介绍


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章