PHP中的内置加密函数有哪些

  

PHP中的内置加密函数有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强> Md5()加密算法

方式:单向加密

语法:Md5 (string str美元[,bool raw_output美元=false)

$ str:原始字符串

$ raw_output:如果可选的raw_output被设置为真,那么Md5报文摘要将以16字节长度的原始二进制格式返回。返回以32位字符十六进制数字形式返回散列值

md5二次加密:md5 (md5(字符串,美元真的))

<强> Crypt()加密算法

方式:单向加密

语法:字符串墓穴(string str美元[string盐美元]),返回一个基于标准UNIX DES算法或系统上其它可用的替代算法的三列字符串

$ str:需要加密的明文

盐:美元加密时的干扰串,是编码更安全

注意:如果加密时没有加上这个美元盐参数,将随机生成一个干扰串,否则刷新加密秘文不变

<强>算法常量:

[CRYPT_SALT_LENGTH]默认的加密长度。使用标准的DES加密,长度为2

[CRYPT_STD_DES]基于标准DES算法的散列使用“。/0-9A-Za-z"字符中的两个字符作为盐值。在盐值中使用非法的字符将导致crypt()失败。

(CRYPT_EXT_DES)扩展的基于DES算法的散列,其盐值为9个字符的字符串,由1个下划线后面跟着4字节循环次数和4字节盐值组成。它们被编码成可打印字符,每个字符6位,有效位最少的优先0到63年被编码为“。/0-9A-Za-z"。在盐值中使用非法的字符将导致crypt()失败。

[CRYPT_MD5] MD5散列使用一个以1美元开始的12字符的字符串盐值。

[CRYPT_BLOWFISH]河豚算法使用如下盐值:$ 2 $,一个两位成本参数,“$”以及64位由”。/0-9A-Za-z”中的字符组合而成的字符串。在盐值中使用此范围之外的字符将导致crypt()返回一个空字符串。两位成本参数是循环次数以2为底的对数,它的范围是04-31,超出这个范围将导致crypt()失败。

<强> CRYPT_SHA256

sha - 256算法使用一个以5美元开头的16字符字符串盐值进行散列。如果盐值字符串以“轮=& lt; N>美元”开的头,N的数字值将被用来指定散列循环的执行次数,这点很像河豚算法的成本参数。默认的循环次数是5000年最小是1000年最大是999999999。超出这个范围的N将会被转换为最接近的值。

<强> CRYPT_SHA512

sha - 512算法使用一个以6美元开头的16字符字符串盐值进行散列。如果盐值字符串以“轮=& lt; N>“美元开头,N的数字值将被用来指定散列循环的执行次数,这点很像河豚算法的成本参数。默认的循环次数是5000年最小是1000年最大是999999999。超出这个范围的N将会被转换为最接近的值。

例:

如果(CRYPT_MD5) {   回声“MD5加密:“.crypt(& # 39;一些# 39;& # 39;$ 1 $ $ & # 39;一手);   }

<>强Sha1()加密算法

方式:单向加密

语法:Sha1字符串(string str美元[,bool raw_output美元=false)计算字符串的Sha1散列值

$ str:加密的字符串

$ raw_output:如果可选的raw_output参数被设置为真,那么Sha1摘要将以20字符长度的原始格式返回,否则返回值是一个40字符串长度的十六进制数字。

<>强URL编码加密技术

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

解码已编码的URL字符串:urldeocde (string str美元)

编码规范:此字符串中除了_。之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)

按照RFC1738对URL进行编码:rawurlencode (string str美元):返回从字符串,把空格编码为% 20

对已编码的字符串进行解码:rawurldecode (string str美元):返回字符串,此字符串中百分号%后跟两位十六进制的序列豆将被替换成原义字符

urlencode和rawurlencode的区别只在于空格。

<>强Base64编码加密技术

使用Base64对数据进行编码:base64_encode(字符串$ data)

对使用MIME Base64编码的数据进行解码:base64_decode(字符串$ data[,严格美元=false));$严格:如果输入的数据超出了base64的字母表,则返回错误的。

base64编码的图片还可以直接放在& lt; img>标签中显示:

& lt; img src=笆?图像/jpeg; base64,编码字符串“;alt=啊?祝辞

& lt; img src=笆?base64,编码字符串“;alt=啊?祝辞

<强>信息加密技术:

1单项散列加密:

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

PHP中的内置加密函数有哪些