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

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

php連接數(shù)據(jù)源如何加密,php加密文件如何解密

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

題主你可以使用 md5 或者 sha1 進(jìn)行初步處理,但為了更加安全,請你同時加上兩個 salt,一個靜態(tài) salt,一個動態(tài)的 salt。以 md5 為例:

10年積累的網(wǎng)站制作、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有三原免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

假設(shè)通過 POST 傳來的密碼為 $_POST['password'],在存入 DB 前先進(jìn)行如下的操作:

$password = hash('md5', $_POST['password'].$staticSalt.$dynamicSalt);

為了保證動態(tài) salt 的唯一性,可以這樣操作:

$dynamicSalt = hash('md5', microtime());

對于動態(tài)的 salt 可以與生成的密碼一起保存在 DB 中,而靜態(tài) salt 則可以直接放在類文件中(例如定義為一個靜態(tài)屬性即可)。

首先謝謝題主采納了我的答案,但是我之前的回答并不是最佳答案,之所以有此加密的想法源于自己所讀的源碼可能比較老,所以并沒使用上較新版本的加密方法,例如 bcrypt等。

此外,第二點,感謝評論中幾位前輩的提點,已經(jīng)明白設(shè)置靜態(tài) salt 的意義并不大,生成一個較長的動態(tài) salt 已然可以解決問題。

LZ應(yīng)該采用加鹽HASH。

如何“腌制”密碼呢?

=_,=

正確的格式應(yīng)該是,用戶password+動態(tài)的salt

動態(tài)的salt不能像2L所說的,使用microtime,因為時間在某些情況下不夠隨機(jī),而且是可能被猜解的。

這里推薦一個我用的加鹽HASH

$salt=base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_RANDOM));

$password=sha1($register_password.$salt);

解釋:

首先使用mcrypt,產(chǎn)生電腦隨機(jī)生成的,專門用戶加密的隨機(jī)數(shù)函數(shù)。

第二步,把得到的隨機(jī)數(shù)通過base64加密,使其變長并且不利于猜解。

第三步,把得出的鹽拼接到密碼的后面,再對其使用sha1進(jìn)行哈希

再把password存入到用戶的數(shù)據(jù)庫。

PS:為何不用靜態(tài)的salt?沒有必要,使用一個動態(tài)隨機(jī)足夠長的鹽足矣。

為何不用MD5?因為長度不夠。

為何沒有使用多次HASH?因為這樣反而容易發(fā)生碰撞。

HASH好之后怎么使用“腌制”好的密碼?

用戶注冊-提交密碼-產(chǎn)生salt-腌制好的密碼存入數(shù)據(jù)庫-salt存入數(shù)據(jù)庫。

用戶登錄-提交密碼-調(diào)用salt接到提交密碼的后面-進(jìn)行HASH-調(diào)用之前注冊腌制好的密碼-對比HASH值是否和這個密碼相同

如何給php代碼加密

前臺加密 后臺接收到后 在和鹽值拼接 在加密 存入數(shù)據(jù)庫 我用md5舉例

前臺:md5(pwd); //前臺找一個js加密擴(kuò)展就行

后臺:

$salt = mt_rand(100000,999999); //隨機(jī)鹽值

$pwd = md5($_GET('pwd').$salt); //這樣雙重加密后入庫了

登錄驗證時 前臺也記得加密哦

PHP中給源代碼加密的幾種方法

?php

function encode_file_contents($filename) {

$type=strtolower(substr(strrchr($filename,'.'),1));

if ('php' == $type is_file($filename) is_writable($filename)) { // 如果是PHP文件 并且可寫 則進(jìn)行壓縮編碼

$contents = file_get_contents($filename); // 判斷文件是否已經(jīng)被編碼處理

$contents = php_strip_whitespace($filename);

// 去除PHP頭部和尾部標(biāo)識

$headerPos = strpos($contents,'?php');

$footerPos = strrpos($contents,'?');

$contents = substr($contents, $headerPos + 5, $footerPos - $headerPos);

$encode = base64_encode(gzdeflate($contents)); // 開始編碼

$encode = '?php'."\n eval(gzinflate(base64_decode("."'".$encode."'".")));\n\n?";

return file_put_contents($filename, $encode);

}

return false;

}

//調(diào)用函數(shù)

$filename = 'dam.php';

encode_file_contents($filename);

echo "OK,加密完成!"

?

?php

function RandAbc($length = "") { // 返回隨機(jī)字符串

$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

return str_shuffle($str);

}

$filename = 'index.php'; //要加密的文件

$T_k1 = RandAbc(); //隨機(jī)密匙1

$T_k2 = RandAbc(); //隨機(jī)密匙2

$vstr = file_get_contents($filename);

$v1 = base64_encode($vstr);

$c = strtr($v1, $T_k1, $T_k2); //根據(jù)密匙替換對應(yīng)字符。

$c = $T_k1.$T_k2.$c;

$q1 = "O00O0O";

$q2 = "O0O000";

$q3 = "O0OO00";

$q4 = "OO0O00";

$q5 = "OO0000";

$q6 = "O00OO0";

$s = '$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval(\'?\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'

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

對PHP文件進(jìn)行加密,通常使用 Zend Guard,這是目前市面上應(yīng)用比較多的PHP源碼加密產(chǎn)品。

加密流程大概如下:

1、打開Zend Guard 5.5.0,[File]-[New]-[Zend Guard Project],新建項目。

2、點擊 Next ,下一步。彈出如下對話框,選擇要進(jìn)行加密的源文件或文件夾。

3、接下來是選擇PHP的版本[與你web服務(wù)器上PHP的版本相對照],這里很重要,版本不對會出錯,[Finish]完成項目的創(chuàng)建。

4、在Zend Guard左側(cè)的Guard Explorer中,可以看到你新建的項目了,鼠標(biāo)選中項目名稱后,右鍵單擊[Encode Project],完成。

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

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

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

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

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

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

?php$str="admin"; //需要加密的字符串$str2="php"; //增加一個常量混淆 $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ù)庫中$pass4=md5($str.$encrypt);// 8db2ec7e9636f124e56f7eb4d7b7cc7e


網(wǎng)頁題目:php連接數(shù)據(jù)源如何加密,php加密文件如何解密
分享路徑:http://weahome.cn/article/hohhoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部