真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php數(shù)據(jù)包加密,php 加密算法

各位用php將密碼存入數(shù)據(jù)庫(kù),都用什么方法進(jìn)行加密的

php將密碼存入數(shù)據(jù)庫(kù),可以分內(nèi)常見(jiàn)的4種方式:

創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、譙城網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為譙城等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

1、直接md5加密存到到數(shù)據(jù)庫(kù)

2、md5兩次存到數(shù)據(jù)庫(kù)

3、對(duì)需要加密的字符串和一個(gè)常量 進(jìn)行混淆加密

4、生成一個(gè)隨機(jī)的變量存到數(shù)據(jù)庫(kù)中,然后對(duì)需要加密的字符串和這個(gè)隨機(jī)變量加密

?php$str="admin"; //需要加密的字符串$str2="php"; //增加一個(gè)常量混淆 $pass1=md5($str);$pass2=md5(md5($str));$pass3=md5($str.$str2);echo $pass1."br".$pass2."br".$pass3;?

輸出:

第四種

$str="admin"; //需要加密的字符串$encrypt=$row['encrypt']; // 生成的 隨機(jī)加密字符串 存到數(shù)據(jù)庫(kù)中$pass4=md5($str.$encrypt);// 8db2ec7e9636f124e56f7eb4d7b7cc7e

如何對(duì)PHP文件進(jìn)行加密

按下面方法就能成功;

方法一:將想要加密的文件——右鍵添加到壓縮文件(ZTP格式)——生成zip壓縮文件夾右鍵——打開(kāi)方式——用compressdfolders之后對(duì)生成的這個(gè)文件添加密碼OK。試試!

方法二:將想要加密的文件——右鍵添加到壓縮文件——選高級(jí)——設(shè)置密碼——OK

推薦使用:“隱身俠”“文件夾加密大師”等軟件來(lái)完成比較好。

用php將密碼存入數(shù)據(jù)庫(kù),用什么方法進(jìn)行加密?

題主你可以使用 md5 或者 sha1 進(jìn)行初步處理,但為了更加安全,請(qǐng)你同時(shí)加上兩個(gè) salt,一個(gè)靜態(tài) salt,一個(gè)動(dòng)態(tài)的 salt。以 md5 為例:\x0d\x0a假設(shè)通過(guò) POST 傳來(lái)的密碼為 $_POST['password'],在存入 DB 前先進(jìn)行如下的操作:\x0d\x0a$password = hash('md5', $_POST['password'].$staticSalt.$dynamicSalt);\x0d\x0a\x0d\x0a為了保證動(dòng)態(tài) salt 的唯一性,可以這樣操作:\x0d\x0a$dynamicSalt = hash('md5', microtime());\x0d\x0a\x0d\x0a對(duì)于動(dòng)態(tài)的 salt 可以與生成的密碼一起保存在 DB 中,而靜態(tài) salt 則可以直接放在類文件中(例如定義為一個(gè)靜態(tài)屬性即可)。\x0d\x0a首先謝謝題主采納了我的答案,但是我之前的回答并不是最佳答案,之所以有此加密的想法源于自己所讀的源碼可能比較老,所以并沒(méi)使用上較新版本的加密方法,例如 bcrypt等。\x0d\x0a此外,第二點(diǎn),感謝評(píng)論中幾位前輩的提點(diǎn),已經(jīng)明白設(shè)置靜態(tài) salt 的意義并不大,生成一個(gè)較長(zhǎng)的動(dòng)態(tài) salt 已然可以解決問(wèn)題。\x0d\x0a\x0d\x0aLZ應(yīng)該采用加鹽HASH。\x0d\x0a如何“腌制”密碼呢?\x0d\x0a=_,=\x0d\x0a正確的格式應(yīng)該是,用戶password+動(dòng)態(tài)的salt\x0d\x0a動(dòng)態(tài)的salt不能像2L所說(shuō)的,使用microtime,因?yàn)闀r(shí)間在某些情況下不夠隨機(jī),而且是可能被猜解的。\x0d\x0a這里推薦一個(gè)我用的加鹽HASH\x0d\x0a$salt=base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_RANDOM));\x0d\x0a$password=sha1($register_password.$salt);\x0d\x0a\x0d\x0a解釋:\x0d\x0a首先使用mcrypt,產(chǎn)生電腦隨機(jī)生成的,專門(mén)用戶加密的隨機(jī)數(shù)函數(shù)。\x0d\x0a第二步,把得到的隨機(jī)數(shù)通過(guò)base64加密,使其變長(zhǎng)并且不利于猜解。\x0d\x0a第三步,把得出的鹽拼接到密碼的后面,再對(duì)其使用sha1進(jìn)行哈希\x0d\x0a再把password存入到用戶的數(shù)據(jù)庫(kù)。\x0d\x0aPS:為何不用靜態(tài)的salt?沒(méi)有必要,使用一個(gè)動(dòng)態(tài)隨機(jī)足夠長(zhǎng)的鹽足矣。\x0d\x0a為何不用MD5?因?yàn)殚L(zhǎng)度不夠。\x0d\x0a為何沒(méi)有使用多次HASH?因?yàn)檫@樣反而容易發(fā)生碰撞。\x0d\x0aHASH好之后怎么使用“腌制”好的密碼?\x0d\x0a用戶注冊(cè)-提交密碼-產(chǎn)生salt-腌制好的密碼存入數(shù)據(jù)庫(kù)-salt存入數(shù)據(jù)庫(kù)。\x0d\x0a用戶登錄-提交密碼-調(diào)用salt接到提交密碼的后面-進(jìn)行HASH-調(diào)用之前注冊(cè)腌制好的密碼-對(duì)比HASH值是否和這個(gè)密碼相同

PHP常用加密解密方法

作者/上善若水

1.md5(string $str,bool $flag = false);

$flag = false 默認(rèn)返回32位的16進(jìn)至數(shù)據(jù)散列值

$flag = true ?返回原始流數(shù)據(jù)

2.sha1($string,$flag = false)

$flag = false 默認(rèn)返回40位的16進(jìn)至數(shù)據(jù)散列值

true ?返回原始流數(shù)據(jù)

3.hash(string $algo,srting $str,bool $flag);

$algo : 算法名稱,可通過(guò)hash_algos()函數(shù)獲取所有hash加密的算法

如:md5,sha1等,采用md5,sha1加密所得結(jié)果和1,2兩種方式結(jié) 果相同。

$flag = false 默認(rèn)返回16進(jìn)至的數(shù)據(jù)散列值,具體長(zhǎng)度根據(jù)算法不同

而不同。

true ?返回原始流數(shù)據(jù)。

4.crypt(string $str,$string $salt);

函數(shù)返回使用 DES、Blowfish 或 MD5 算法加密的字符串。

具體算法依賴于PHP檢查之后支持的算法和$salt的格式和長(zhǎng)度,當(dāng) 然具體結(jié)果也和操作系統(tǒng)有關(guān)。比較結(jié)果采用 hash_equals($crypted,crypt($input,$salt));//且salt值相同

Password_verify($str,$crypted);

5.password_hash ( string $str, integer $algo [, array $options ] )

函數(shù)返回哈希加密后的密碼字符串, password_hash() 是crypt()的 一個(gè)簡(jiǎn)單封裝

$algo : 算法 PASSWORD_DEFAULT ,PASSWORD_BCRYPT

$options = [

“cost”=10,//指明算法遞歸的層數(shù),

“salt”=“xxadasdsad”//加密鹽值,即將被遺 棄,采用系統(tǒng)自動(dòng)隨機(jī)生成安全性更高

];

使用的算法、cost 和鹽值作為哈希的一部分返回

Password_verify($str,$hashed);

6.base64_encode(string $str)

設(shè)計(jì)此種編碼是為了使二進(jìn)制數(shù)據(jù)可以通過(guò)非純 8-bit 的傳輸層 傳輸,例如電子郵件的主體。base64_decode(string $encoded)

可以進(jìn)行解碼;

7.mcrypt_encrypt ( string $cipher , string $key , string $data ,

string $mode [, string $iv ] )

mcrypt_decrypt ( string $cipher , string $key , string $crypted ,

string $mode [, string $iv ] )

$ciper:加密算法,mcrypt_list_algorithms()可以獲取該函數(shù)所有支持的算法

如MCRYPT_DES(“des”),MCRYPT_RIJNDAEL_128(“rijndael-128”);

$mode : 加密模式 ,mcrypt_list_modes()獲取所有支持的加密模式,ecb,cbc

$key: 加密的秘鑰,mcrypt_get_key_size ( string $cipher , string $mode )

獲取指定的算法和模式所需的密鑰長(zhǎng)度。$key要滿足這個(gè)長(zhǎng)度,如果長(zhǎng) 度無(wú)效會(huì)報(bào)出警告。

$iv : 加密的初始向量,可通過(guò)mcrypt_create_iv ( int $size [, int $source = MCRYPT_DEV_URANDOM ] ),

Iv的參數(shù)size:

通過(guò)mcrypt_get_iv_size ( string $cipher , string $mode )獲取

Iv 的參數(shù)source:

初始向量數(shù)據(jù)來(lái)源??蛇x值有: MCRYPT_RAND (系統(tǒng)隨機(jī)數(shù)生成 器), MCRYPT_DEV_RANDOM (從 /dev/random 文件讀取數(shù)據(jù)) 和 ?MCRYPT_DEV_URANDOM (從 /dev/urandom 文件讀取數(shù)據(jù))。 在 Windows 平臺(tái),PHP 5.3.0 之前的版本中,僅支持 MCRYPT_RAND。

請(qǐng)注意,在 PHP 5.6.0 之前的版本中, 此參數(shù)的默認(rèn)值 為 MCRYPT_DEV_RANDOM。

Note: 需要注意的是,如果沒(méi)有更多可用的用來(lái)產(chǎn)生隨機(jī)數(shù)據(jù)的信息, 那么 MCRYPT_DEV_RANDOM 可能進(jìn)入阻塞狀態(tài)。

$data : 要加密的字符串?dāng)?shù)據(jù)


分享名稱:php數(shù)據(jù)包加密,php 加密算法
文章源于:http://weahome.cn/article/hoejcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部