欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php數(shù)據(jù)加密院里 php數(shù)字加密

用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 為例:

創(chuàng)新互聯(lián)基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶(hù)提供雅安機(jī)房托管 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。

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

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

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

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

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

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

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

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

如何“腌制”密碼呢?

=_,=

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

動(dòng)態(tài)的salt不能像2L所說(shuō)的,使用microtime,因?yàn)闀r(shí)間在某些情況下不夠隨機(jī),而且是可能被猜解的。

這里推薦一個(gè)我用的加鹽HASH

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

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

解釋:

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

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

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

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

PS:為何不用靜態(tài)的salt?沒(méi)有必要,使用一個(gè)動(dòng)態(tài)隨機(jī)足夠長(zhǎng)的鹽足矣。

為何不用MD5?因?yàn)殚L(zhǎng)度不夠。

為何沒(méi)有使用多次HASH?因?yàn)檫@樣反而容易發(fā)生碰撞。

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

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

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

thinkphp數(shù)據(jù)庫(kù)配置信息加密怎么處理

今天有一個(gè)朋友問(wèn)我thinkphp的這個(gè)問(wèn)題,剛好百度搜索到你這個(gè)問(wèn)題。已經(jīng)解決。就幫你解答一下這個(gè)問(wèn)題。

首先我嘗試在入口文件封裝一個(gè)加密函數(shù),我用php des 加密,然后在配置文件config.php調(diào)用。然后在控制器里面使用,打印配置文件:dump(C());//輸出所有的配置文件信息, 雖然能看到正確的數(shù)據(jù)用戶(hù)名和密碼,但是會(huì)報(bào)錯(cuò)。失敗告終。

我說(shuō)一下我的解決方法。很簡(jiǎn)單。

1:把配置文件里面的用戶(hù)名,密碼,數(shù)據(jù)庫(kù)名瞎寫(xiě)一寫(xiě),別人看到你的代碼的配置文件看到的就是錯(cuò)誤的數(shù)據(jù)庫(kù)名和密碼了。比如:

'DB_NAME' = 'SB', // 數(shù)據(jù)庫(kù)名

'DB_USER' = 'ni_da_ye', // 用戶(hù)名

'DB_PWD' = 'da_da_bi', // 密碼

在每個(gè)控制器文件里面。加入一段代碼。

比如你的IndexController.class.php文件。加下面的代碼。

/* 初始化方法*/

public function __construct(){

parent::__construct();

C("DB_NAME",decrypt('712349721937491237'));//數(shù)據(jù)庫(kù)名,

C('DB_USER',decrypt('712349721937491237'));//用戶(hù)名

C('DB_PWD',decrypt('712349721937491237'));//密碼

}

看清楚了嗎?

decrypt()這個(gè)函數(shù)就是我封裝的一個(gè)加密函數(shù),親自測(cè)試沒(méi)有錯(cuò)誤。可能會(huì)犧牲一些性能。但是保證了用戶(hù)名,密碼,數(shù)據(jù)庫(kù)名沒(méi)有泄露。甚至你都可以把數(shù)據(jù)庫(kù)連接地址也加密一下。希望能幫到你。

PHP加密函數(shù)可以考慮用des,aes這些可逆加密。別用什么md4,md5.

php 加密文件里全是x什么的,怎么破解?

混淆過(guò)的。就是把有意義的函數(shù)名、變量名之類(lèi)的換個(gè)無(wú)規(guī)律的名字,本質(zhì)上還是函數(shù),從頭執(zhí)行一下就出來(lái)了。比如首行的ascii碼,連接后得到base64_decode。看到這里,后面引號(hào)的一堆亂碼就可嘗試用base64解碼一下。手工的思路基本上就是這樣。除了這種加密,另一種常見(jiàn)的方法是zend加密

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

zendGuard、phpShield、SourceGuardian

Php的加密軟件都有這種功能,網(wǎng)上搜一搜還是有好多的。

分享文章:php數(shù)據(jù)加密院里 php數(shù)字加密
文章URL:http://chinadenli.net/article44/ddgsjhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序外貿(mào)建站網(wǎng)頁(yè)設(shè)計(jì)公司定制開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司