最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP內(nèi)置加密函數(shù)詳解

 更新時(shí)間:2016年11月20日 15:27:26   投稿:hebedich  
在網(wǎng)站的開(kāi)發(fā)過(guò)程中,常常需要對(duì)部分?jǐn)?shù)據(jù)(如用戶密碼)進(jìn)行加密,本文主要介紹PHP的幾個(gè)常見(jiàn)的加密函數(shù)

Md5()加密算法

方式: 單向加密

語(yǔ)法: md5(string $str [, bool $raw_output = false])

$str:原始字符串

$raw_output:如果可選的raw_output被設(shè)置為true, 那么md5報(bào)文摘要將以16字節(jié)長(zhǎng)度的原始二進(jìn)制格式返回. 返回以32位字符十六進(jìn)制數(shù)字形式返回散列值

md5二次加密:md5(md5($string, true))

Crypt()加密算法

方式: 單向加密

語(yǔ)法: string crypt(string $str[, string $salt]) , 返回一個(gè)基于標(biāo)準(zhǔn)UNIX DES算法或系統(tǒng)上其它可用的替代算法的三列字符串

$str: 需要加密的明文

$salt: 加密時(shí)的干擾串,是編碼更安全

注意: 如果加密時(shí)沒(méi)有加上這個(gè)$salt參數(shù), 將隨機(jī)生成一個(gè)干擾串, 否則刷新加密秘文不變

算法常量:

[CRYPT_SALT_LENGTH]

默認(rèn)的加密長(zhǎng)度。使用標(biāo)準(zhǔn)的 DES 加密,長(zhǎng)度為 2

[CRYPT_STD_DES]

基于標(biāo)準(zhǔn) DES 算法的散列使用 "./0-9A-Za-z" 字符中的兩個(gè)字符作為鹽值。在鹽值中使用非法的字符將導(dǎo)致 crypt() 失敗。

[CRYPT_EXT_DES]

擴(kuò)展的基于 DES 算法的散列。其鹽值為 9 個(gè)字符的字符串,由 1 個(gè)下劃線后面跟著 4 字節(jié)循環(huán)次數(shù)和 4 字節(jié)鹽值組成。它們被編碼成可打印字符,每個(gè)字符 6 位,有效位最少的優(yōu)先。0 到 63 被編碼為 "./0-9A-Za-z"。在鹽值中使用非法的字符將導(dǎo)致 crypt() 失敗。

[CRYPT_MD5]

MD5 散列使用一個(gè)以 $1$ 開(kāi)始的 12 字符的字符串鹽值。

[CRYPT_BLOWFISH]

Blowfish 算法使用如下鹽值:“$2a$”,一個(gè)兩位 cost 參數(shù),“$” 以及 64 位由 “./0-9A-Za-z” 中的字符組合而成的字符串。在鹽值中使用此范圍之外的字符將導(dǎo)致 crypt() 返回一個(gè)空字符串。兩位 cost 參數(shù)是循環(huán)次數(shù)以 2 為底的對(duì)數(shù),它的范圍是 04-31,超出這個(gè)范圍將導(dǎo)致 crypt() 失敗。

CRYPT_SHA256

SHA-256 算法使用一個(gè)以 $5$ 開(kāi)頭的 16 字符字符串鹽值進(jìn)行散列。如果鹽值字符串以 “rounds=<N>$” 開(kāi)頭,N 的數(shù)字值將被用來(lái)指定散列循環(huán)的執(zhí)行次數(shù),這點(diǎn)很像 Blowfish 算法的 cost 參數(shù)。默認(rèn)的循環(huán)次數(shù)是 5000,最小是 1000,最大是 999,999,999。超出這個(gè)范圍的 N 將會(huì)被轉(zhuǎn)換為最接近的值。

CRYPT_SHA512

SHA-512 算法使用一個(gè)以 $6$ 開(kāi)頭的 16 字符字符串鹽值進(jìn)行散列。如果鹽值字符串以 “rounds=<N>$” 開(kāi)頭,N 的數(shù)字值將被用來(lái)指定散列循環(huán)的執(zhí)行次數(shù),這點(diǎn)很像 Blowfish 算法的 cost 參數(shù)。默認(rèn)的循環(huán)次數(shù)是 5000,最小是 1000,最大是 999,999,999。超出這個(gè)范圍的 N 將會(huì)被轉(zhuǎn)換為最接近的值。

例:

if(CRYPT_MD5){
  echo "MD5加密:".crypt('something','$1$somethin$');
}

Sha1()加密算法

方式: 單向加密

語(yǔ)法: string sha1(string $str [, bool $raw_output=false]) 計(jì)算字符串的sha1散列值

$str: 加密的字符串

$raw_output: 如果可選的raw_output參數(shù)被設(shè)置為T(mén)RUE, 那么sha1摘要將以20字符長(zhǎng)度的原始格式返回, 否則返回值是一個(gè)40字符串長(zhǎng)度的十六進(jìn)制數(shù)字.

URL編碼加密技術(shù)

編碼URL字符串: urlencode(string $str)

解碼已編碼的URL字符串: urldeocde(string $str)

編碼規(guī)范: 此字符串中除了-_.之外的所有非字母數(shù)字字符都將被替換成百分號(hào)(%)后跟兩位十六進(jìn)制數(shù), 空格則編碼為加號(hào)(+)

按照RFC1738對(duì)URL進(jìn)行編碼: rawurlencode(string $str) : 返回從字符串,把空格編碼為%20

對(duì)已編碼的字符串進(jìn)行解碼: rawurldecode(string $str) : 返回字符串, 此字符串中百分號(hào)%后跟兩位十六進(jìn)制的序列豆將被替換成原義字符

urlencode和rawurlencode的區(qū)別只在于空格.

Base64編碼加密技術(shù)

使用base64對(duì)data進(jìn)行編碼: base64_encode(string $data)

對(duì)使用MIME base64編碼的數(shù)據(jù)進(jìn)行解碼: base64_decode(string $data[, $strict=false]) ; $strict:如果輸入的數(shù)據(jù)超出了base64的字母表,則返回false.

base64編碼的圖片還可以直接放在<img>標(biāo)簽中顯示:

<img src="data:image/jpeg;base64,編碼字符串" alt=""/>

<img src="data:;base64,編碼字符串" alt=""/>

信息加密技術(shù):

1 單項(xiàng)散列加密:

指通過(guò)不同輸入的長(zhǎng)度的信息進(jìn)行散列計(jì)算, 得到固定長(zhǎng)度的輸出, 這個(gè)散列計(jì)算過(guò)程是單向的, 既不能對(duì)固定長(zhǎng)度的輸出進(jìn)行計(jì)算從而活兒輸出信息.

2 對(duì)稱散列加密

指加密和解密的密匙是同一個(gè)密匙或者可以互相推算.

3 非對(duì)稱散列加密

非對(duì)稱加密和解密的密匙不是同一個(gè)密匙, 其中一個(gè)對(duì)外公開(kāi), 被稱作公鑰, 另一個(gè)只有所有者知道.

相關(guān)文章

  • session在php5.3中的變化 session_is_registered() is deprecated in

    session在php5.3中的變化 session_is_registered() is deprecated in

    在php 5.3中session_is_registered()已經(jīng)是放棄使用了,大家在使用過(guò)程中需要注意一下了
    2013-11-11
  • PHP isset()函數(shù)使用方法詳解

    PHP isset()函數(shù)使用方法詳解

    isset()函數(shù)是PHP中的內(nèi)置函數(shù),用于確定是否聲明了變量且其值不等于NULL,本文將詳細(xì)給大家介紹PHP isset()函數(shù)的具體使用方法,有感興趣的同學(xué)可以跟著小編一起來(lái)學(xué)習(xí)
    2023-07-07
  • 從wamp到xampp的升級(jí)之路

    從wamp到xampp的升級(jí)之路

    這篇文章主要介紹了從wamp到xampp的升級(jí)之路的相關(guān)資料,十分的詳細(xì),需要的朋友可以參考下
    2015-04-04
  • PHP MSSQL 存儲(chǔ)過(guò)程的方法

    PHP MSSQL 存儲(chǔ)過(guò)程的方法

    在PHP中調(diào)用MS SQL存儲(chǔ)過(guò)程的核心代碼
    2008-12-12
  • PHPMailer安裝方法及簡(jiǎn)單實(shí)例

    PHPMailer安裝方法及簡(jiǎn)單實(shí)例

    PHPMailer是一個(gè)用PHP寫(xiě)的用于郵件發(fā)送的類,有點(diǎn)像Jmail,相信很多新手和我一樣,開(kāi)始很茫然,不知道怎么安裝,查找了一下,發(fā)現(xiàn)這方面的資料真的少之又少,一個(gè)文章被轉(zhuǎn)載千百次,一搜索全是同一個(gè)內(nèi)容,真不知道說(shuō)什么好,其實(shí)打開(kāi)安裝里的readme就一目了然了,閑話少說(shuō),安裝其實(shí)很簡(jiǎn)單。
    2008-11-11
  • PHP在線調(diào)試執(zhí)行的實(shí)現(xiàn)方法(附demo源碼)

    PHP在線調(diào)試執(zhí)行的實(shí)現(xiàn)方法(附demo源碼)

    這篇文章主要介紹了PHP在線調(diào)試執(zhí)行的實(shí)現(xiàn)方法,實(shí)例分析了PHP實(shí)現(xiàn)在線調(diào)試運(yùn)行的原理,步驟與具體實(shí)現(xiàn)代碼,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2016-04-04
  • PHP中獲取內(nèi)網(wǎng)用戶MAC地址(WINDOWS/linux)的實(shí)現(xiàn)代碼

    PHP中獲取內(nèi)網(wǎng)用戶MAC地址(WINDOWS/linux)的實(shí)現(xiàn)代碼

    做一個(gè)內(nèi)網(wǎng)根據(jù)MAC地址自動(dòng)登錄的應(yīng)用,在WINDOW 2003可以正常使用,函數(shù)如下
    2011-08-08
  • Discuz 模板語(yǔ)句分析及知識(shí)技巧

    Discuz 模板語(yǔ)句分析及知識(shí)技巧

    Discuz模板語(yǔ)句分析及知識(shí)技巧,其實(shí)大家可以多研究下各種程序cms系統(tǒng),不過(guò)前提是,大家的基礎(chǔ)已經(jīng)不錯(cuò)了。
    2009-08-08
  • php將textarea數(shù)據(jù)提交到mysql出現(xiàn)很多空格的解決方法

    php將textarea數(shù)據(jù)提交到mysql出現(xiàn)很多空格的解決方法

    這篇文章主要介紹了php將textarea數(shù)據(jù)提交到mysql出現(xiàn)很多空格的解決方法,分析了空格出現(xiàn)的原因以及刪除空格的簡(jiǎn)單實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • phplot生成圖片類用法詳解

    phplot生成圖片類用法詳解

    這篇文章主要介紹了phplot生成圖片類用法,較為詳細(xì)的分析了phplot生成圖片類常用函數(shù)的用法及生成圖片的完整實(shí)例,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01

最新評(píng)論

桂平市| 高密市| 沧源| 富民县| 富宁县| 宽甸| 张家港市| 游戏| 姜堰市| 贵港市| 仙桃市| 四会市| 雷波县| 贵港市| 太湖县| 苏州市| 绥芬河市| 吉林省| 谢通门县| 灵宝市| 汝州市| 萝北县| 绵阳市| 保亭| 山东省| 乃东县| 易门县| 延庆县| 修水县| 乐安县| 忻城县| 河西区| 文化| 北宁市| 灵寿县| 克什克腾旗| 吉水县| 许昌市| 怀远县| 普定县| 连城县|