加密算法介绍

加密技术介绍

目前大概有三种加密技术

单向散列加密技术

通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,即不能对固定长度的输出进行计算从而获得输入信息。

非对称加密

非对称散列加密和解密使用的密钥不是同一个,公开的叫公钥,另一个只有所有者知道。

公钥,就是封装好的加密算法
密钥,解密算法

对称加密技术介绍

指加密和解密使用的密钥是同一个密钥或者可以相互推算。

php 中的加密方法

md5加密

    string md5(string $str [,bool $raw_output = false])

返回以32位字符,十六进制数字形式返回散列值。如果第二个值为 true,则 md5报文摘要将以16字节长度长度的原始二进制格式返回。

crypt 加密算法

不可逆加密函数,盐值

    string crypt(string $str [,string $salt])

sha1加密算法

单项加密,不可逆

    string sha1(string $str [,bool $raw_output = false]);

返回40字符长度的十六进制数字

url 编码

    urlencode(string $str) //编码
    urldecode(string $str) //解码

//字符串中除了-_之外的所有非字母数字字符都被替换成百分号加两位十六进制数,空格编码为加号,如下
?%3F
= %3D
+ %2B
% %25

用途,一是编码地址栏中的 url;二是编码 url 中某些带有特殊符号的参数

base64

最开始是用于邮件中,邮件网关只识别 ASCII,base64_encode 就是将二进制转化为 ASCII 函数

//编码图片
file_get_contents()
base64_encode($str)
"data:image/jpeg;base64,xxxxxxx"> //指定图片类型
//或者可以不写
"data:;base64,xxxxxxxx"> 

//php 中解密
base64_decode()

你可能感兴趣的:(PHP)