旗下导航:搜·么
当前位置:网站首页 > PHP问题 > 正文

php加密的作用【php题目】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP问题浏览:81


导读:php加密的作用加密:为了做数据加密,不被看到明文。在php的开辟历程当中,经常须要对部份数据(如用户暗码)举行加密一、加密范例:1.单向散列加密就是把恣意...

php加密的作用

加密:为了做数据加密,不被看到明文。

在php的开辟历程当中,经常须要对部份数据(如用户暗码)举行加密

一、加密范例:

1.单向散列加密

就是把恣意长度的信息举行散列盘算,获得牢固长度的输出,这个散列盘算历程是单向的,即不能对牢固长度的输出信息举行盘算从而获得输入信息。

(1)特性:雪崩效应、定长输出和不可逆。

(2)作用是:确保数据的完整性。

(3)加密算法:md5(规范密钥长度128位)、sha1(规范密钥长度160位)、md4、CRC-32

2.对称散列加密

对称加密是指加密息争密是运用同一个密钥,或许能够相互推算。

(1)加密方息争密方运用同一个密钥。

(2)加密解密的速率比较快,合适数据比较长时的运用。

(3)密钥传输的历程不平安,且轻易被破解,密钥治理也比较贫苦。

(4)加密算法:DES(Data Encryption Standard)、3DES、AES(Advanced Encryption Standard,支撑128、192、256、512位密钥的加密)、Blowfish。

3.非对称散列加密

非对称加密息争密运用的不是同一个密钥,个中一个对外公然,称作公钥,另一个只要所属者晓得,称作私钥。

(1)每一个用户拥用一对密钥加密:公钥和私钥。

(2)公钥加密,私钥解密;私钥加密,公钥解密。

(3)公钥传输的历程不平安,易被盗取和替代。

(4)因为公钥运用的密钥长度异常长,所以公钥加密速率异常慢,平常不运用其去加密。

(5)某一个用户用其私钥加密,其他用户用其公钥解密,完成数字署名的作用。

(6)公钥加密的另一个作用是完成密钥交流。

(7)加密和署名算法:RSA、ELGamal。

(8)公钥署名算法:DSA。

解释:

(1)RSA:由 RSA 公司发现,是一个支撑变长密钥的大众密钥算法,须要加密的文件块的长度也是可变的;

(2)DSA(Digital Signature Algorithm):数字署名算法,是一种规范的 DSS(数字署名规范);

(3)因为非对称加密算法的运转速率比对称加密算法的速率慢许多,当我们须要加密大批的数据时,发起采纳对称加密算法,进步加解密速率。

对称加密算法不能完成署名,因而署名只能非对称算法。

(4)因为对称加密算法的密钥治理是一个庞杂的历程,密钥的治理直接决议着他的平安性,因而当数据量很小时,我们能够斟酌采纳非对称加密算法。

(5)在现实的操纵历程当中,我们一般采纳的体式格局是:采纳非对称加密算法治理对称算法的密钥,然后用对称加密算法加密数据,如许我们就集成了两类加密算法的长处,既完成了加密速率快的长处,又完成了平安轻易治理密钥的长处。

二、php中经常使用的加密函数:

1.MD5加密:

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

(1)md5()默许情况下以 32 字符十六进制数字情势返回散列值,它接收两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,

默许为false,假如设置为true,md5()则会返回原始的 16 位二进制花样报文择要

(2)md5()为单向加密,没有逆向解密算法,然则照样能够对一些罕见的字符串经由过程网络,罗列,碰撞等要领破解

2.Crypt加密:

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

(1)crypt()接收两个参数,第一个为须要加密的字符串,第二个为盐值(就是加密滋扰值,假如没有供应,则默许由PHP自动生成);

返回散列后的字符串或一个少于 13 字符的字符串,后者为了区分盐值。

(2)crypt()为单向加密,跟md5一样。

3.Sha1加密:

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

(1)跟md5很像,差别的是sha1()默许情况下返回40个字符的散列值,传入参数性子一样,第一个为加密的字符串,

第二个为raw_output的布尔值,默许为false,假如设置为true,sha1()则会返回原始的20 位原始花样报文择要

(2)sha1()也是单行加密,没有逆向解密算法

4.Urlencode加密:

 string urlencode ( string $str )

(1)一个参数,传入要加密的字符串(一般应用于对URL的加密)

(2)urlencode为双向加密,能够用urldecode来加密(严厉意义上来讲,不算真正的加密)

(3)返回字符串,此字符串中除了 -_. 以外的一切非字母数字字符都将被替代成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。

(3)罕见的urlencode()的转换字符

    ? => %3F
    = => %3D
    % => %25
    & => %26
    \ => %5C
空格 => %5C

5.base64编码加密:

string base64_decode ( string $encoded_data )

(1)base64_encode()接收一个参数,也就是要编码的数据(这里不说字符串,是因为许多时刻base64用来编码图片)

(2)base64_encode()为双向加密,可用base64_decode()来解密

以上就是php加密的作用的细致内容,更多请关注ki4网别的相干文章!

标签:php加密