zoukankan      html  css  js  c++  java
  • PHP加密函数—sha1()函数加密

    首先我们先介绍下什么是 sha1 ?大理石构件

    sha的全称是:Secure Hash Algorithm(安全哈希算法)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。PHP提供的sha1()函数使用的就是SHA 算法!

    在之前介绍的两篇文章《PHP加密函数—crypt()函数加密》和《PHP加密函数—md5()函数加密》,相信大家对加密有一定了解,在本章中我们将继续介绍跟MD5()函数类似的sha1()函数算法。

    sha1()函数的语法格式如下:

    1

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

    参数 描述
    string 必需。规定要计算的字符串。
    raw 可选。规定十六进制或二进制输出格式:TRUE - 原始 20 字符二进制格式FALSE - 默认。40 字符十六进制数

    函数返回一个 40位的十六进制数,如果参数 raw_output 为 true,那么就会返回一个 20位的二进制数,默认是 raw_output 是为 false。

    在这里我们要着重的说明下:

    sha后面的 1 是阿拉伯数字(123456)里的 1 ,不是字母l(L),很多人都会看成是字母,但是它是阿拉伯数字,这里大家一定要注意,不要搞错了!

    下面是sha1()函数的实例,具体代码如下:

    1

    2

    3

    4

    5

    6

    7

    <?php

    header("Content-Type:text/html; charset=utf-8");

    $str = "中文网";

    echo "字符串:".$str."<br>";

    echo "TRUE - 原始 20 字符二进制格式:".sha1($str, TRUE)."<br>";

    echo "FALSE - 40 字符十六进制数:".sha1($str)."<br>";

    ?>

    输出结果为:

    13.png

    下面实例是输出 sha1() 的结果并对其进行测试:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    <?php

    header("Content-Type:text/html; charset=utf-8");

    $str = "中文网";

    echo sha1($str);

    if (sha1($str) == "b1d5e6240057f21930892531def6597f135252ca ")

    {

        echo "<br>I love 中文网!";

        exit;

    }

    ?>

    输出结果为:

    14.png

    下面实例是MD5 和SHA 加密运算对比,具体带代码如下

    1

    2

    3

    4

    5

    6

    7

    <?php

    header("Content-Type:text/html; charset=utf-8");

    $str = "中文网";

    echo "MD5的加密结果:".md5($str)."<br>";

    echo "<br>";

    echo "sha1的加密结果:".sha1($str)."<br>";

    ?>

    输出结果为:

    15.png

    在PHP中的数据加密函数的主要三个 crypt()、md5()以及sha1()就介绍完了,下面的文章我们将介绍PHP加密库:Mcrypt和Mhash的两个扩展库!

  • 相关阅读:
    Java读写.properties文件实例,解决中文乱码问题
    web项目的getContextPath()
    PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required
    Eclipse安装与配置
    Linux基础整理 + 注释
    git命令集合
    遍历List集合的三种方法
    使用jqueryUI和corethink实现的类似百度的搜索提示
    corethink功能模块探索开发(十八)前台页面插入jit前端数据可视化库
    corethink功能模块探索开发(十七)opencmf.php 配置文件
  • 原文地址:https://www.cnblogs.com/furuihua/p/12103206.html
Copyright © 2011-2022 走看看