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的兩個擴展庫!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM