PHP加密技术

WBOY
WBOYOriginal
2016-07-28 08:26:211842Durchsuche

前几天学习了PHP加密的一些知识,现在总结一下

PHP中几种加密形式

  Md5()加密算法

  Crypt()加密算法

 Sha1()加密算法

  URL编码加密技术

  Base64编码加密技术

Md5()加密算法

  语法:

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

           $str : 原始字符串        可选(不常用)

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

   但是仅仅使用md5加密算法,很容易被破解,如网上有相关的md5解密网站,可以把相关的md5密文通过其网站收录的常见md5密文查询出来

   可以如下加强破解难度

   md5(md5($str,true))

Crypt()加密算法

语法:

   string crypt(string $str [, string $salt ]), 返回一个基于标准UNIX DES算法或系统上其它可用的替代算法的散列字符串。

   $str:需要机密的明文

   $salt: 加密时的干扰串,是编码更安全

 注意:

   如果加密时没有加上$salt参数,将随机生成一个干扰串,否则刷新加密密文不变

Sha1()加密算法

语法:

 string sha1(string $str [ , bool $raw_output = false ], 计算字符串的sha1散列值

  $str:加密的字符串

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

  返回sha1散列值字符串

  通过sha1加密的密文也可以在网站查询出来明文。保存密码时不建议使用sha1加密

  sha1(md5(“admin”,true))

URL编码加密技术

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

     $str:要编码的字符串

     返回值:返回编码后的字符串

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

   2.urldecode(string $str) : 解码已编码的URL字符串。

   3.rawurlencode(string $str):按照RFC1738对URL进行编码

     $str:要编码的URL

     返回值:返回字符串,把空格编码为%20

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

     $str :要解码的URL

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

     $str:要解码的字符串

     返回值:返回解码后的字符串

Base64编码加密技术

1.base64_encode(string $data):使用base64对data进行编码

      $data:要编码的数据

2.base64_decode(string $data [.bool $strict = false]):对使用MIME base64编码的数据进行解码

 $strict : 如果输入的数据超出了base64字母表,则返回false

以上就介绍了 PHP加密技术,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:excel的导入导出Nächster Artikel:PHP入门8 面向对象3 接口