zoukankan      html  css  js  c++  java
  • 常用的几个PHP加密函数

    1、前言

    PHP加密方式分为单项散列加密,对称加密,非对称加密这几类。
      像常用的MD5、hash、crypt、sha1这种就是单项散列加密,单项散列加密是不可逆的。
      像URL编码、base64编码这种就是对称加密,是可逆的,就是说加密解密都是用的同一秘钥。
      除此外就是非对称加密,加密和解密的秘钥不是同一个,如果从安全性而言,加密的信息如果还想着再解密回来,非对称加密无疑是最为安全的方式。
     

    2、不可逆加密函数

    (一)、md5
    string md5 ( string str[,boolraw_output = false ] )
    1.md5()默认情况下以 32 字符十六进制数字形式返回散列值,它接受两个参数,第一个为要加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,md5()则会返回原始的 16 位二进制格式报文摘要
    2.md5()为单向加密,没有逆向解密算法,但是还是可以对一些常见的字符串通过收集,枚举,碰撞等方法破解
     
    (二)、Crypt
    string crypt ( string str[,stringsalt ] )
    1.crypt()接受两个参数,第一个为需要加密的字符串,第二个为盐值(就是加密干扰值,如果没有提供,则默认由PHP自动生成【盐值只能取两位】);返回散列后的字符串或一个少于 13 字符的字符串,后者为了区别盐值。
    2.crypt()为单向加密,跟md5一样。
     
    (三)、sha1
    string sha1 ( string str[,boolraw_output = false ]
    1.跟md5很像,不同的是sha1()默认情况下返回40个字符的散列值,传入参数性质一样,第一个为加密的字符串,第二个为raw_output的布尔值,默认为false,如果设置为true,sha1()则会返回原始的20 位原始格式报文摘要
    2.sha1()也是单向加密,没有逆向解密算法
     
    (四)、hash
    string hash($ago,$data);
    1、$ago是可以指定加密使用的哈希算法,例如:"md5","sha256","haval160,4" 等。$data是要加密的数据
    hash加密也是不可逆的,因为是给定一个不确定的字符串返回特定长度的字符串,这个本质意义上来说实现了单项散列加密。
     

    3、可逆转的j加密函数

    (一)、Urlencode
    string urlencode ( string $str )
    1.一个参数,传入要加密的字符串(通常应用于对URL的加密),
    2.urlencode为双向加密,可以用urldecode来加密(严格意义上来说,不算真正的加密)
    3.返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。
     
    (二)、base64编码
    string base64_decode ( string $encoded_data )
    1.base64_encode()接受一个参数,也就是要编码的数据(这里不说字符串,是因为很多时候base64用来编码图片)
    2.base64_encode()为双向加密,可用base64_decode()来解密
    base64加密本质上说就是把数据转换为ASCLL码,比如一个图片进行base64编码就会变成一堆以Ascll码连接的字符串,这会更有利于文件的传输,当然base64的作用在与文件的传输。例如手机客户端上传文件到服务器,使用base64编码可以轻松实现文件的传输。
     
     
     
  • 相关阅读:
    Eclipse安装Hadoop插件
    (转)Ubuntu14.0.4中hadoop2.4.0伪分布模式配置
    Hadoop--DataNode无法启动
    启动与关闭hadoop
    hadoop中执行命令时发生错误
    strings命令
    Deriving data from ElasticSearch Engine
    elasticsearch data importing
    reading words in your computer and changing to female voice, linux festival text2wave saving wav files
    DDNS client on a Linux machine
  • 原文地址:https://www.cnblogs.com/applelife/p/10476798.html
Copyright © 2011-2022 走看看