php將密碼存入數(shù)據(jù)庫(kù),可以分內(nèi)常見(jiàn)的4種方式:
成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供石景山網(wǎng)站建設(shè)、石景山做網(wǎng)站、石景山網(wǎng)站設(shè)計(jì)、石景山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、石景山企業(yè)網(wǎng)站模板建站服務(wù),十載石景山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(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
裝好以后什么都沒(méi)干是吧?
只要你在安裝的時(shí)候沒(méi)有設(shè)置,MySQL默認(rèn)root的密碼是空的
phpmyadmin有一個(gè)配置文件,config.inc.php
你打開(kāi)搜索
$cfg['Servers'][$i]['user']= 'root';
$cfg['Servers'][$i]['password'] = '填上你設(shè)置的密碼,若有密碼就去掉試試()';
ps: $cfg['Servers'][$i]['password']應(yīng)該不會(huì)有密碼,估計(jì)是你安裝的時(shí)候設(shè)置了自己又忘了
php修改mysql數(shù)據(jù)庫(kù)中的用戶(hù)名和密碼方法如下:
方法一
1、使用phpmyadmin,這是最簡(jiǎn)單的了,修改mysql庫(kù)的user表,
2、不過(guò)別忘了使用PASSWORD函數(shù)。
方法二
1、使用mysqladmin,這是前面聲明的一個(gè)特例。
2、mysqladmin -u root -p password mypasswd ,輸入這個(gè)命令后,需要輸入root的原密碼,然后root的密碼將改為mypasswd。
3、把命令里的root改為你的用戶(hù)名,你就可以改你自己的密碼了。
4、當(dāng)然如果你的mysqladmin連接不上mysql server,或者你沒(méi)有辦法執(zhí)行mysqladmin, 那么這種方法就是無(wú)效的。 而且mysqladmin無(wú)法把密碼清空。
5、下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限:
方法三
1、mysql INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql FLUSH PRIVILEGES
2、確切地說(shuō)這是在增加一個(gè)用戶(hù),用戶(hù)名為jeffrey,密碼為biscuit。
3、在《mysql中文參考手冊(cè)》里有這個(gè)例子,所以我也就寫(xiě)出來(lái)了。
4、注意要使用PASSWORD函數(shù),然后還要使用FLUSH PRIVILEGES。
方法四
和方法三一樣,只是使用了REPLACE語(yǔ)句
mysql REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql FLUSH PRIVILEGES
方法五
1、使用SET PASSWORD語(yǔ)句,
mysql SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
2、也必須使用PASSWORD()函數(shù),
3、但是不需要使用FLUSH PRIVILEGES。
方法六
1、使用GRANT ... IDENTIFIED BY語(yǔ)句
mysql GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
2、這里PASSWORD()函數(shù)是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。
PHP中數(shù)據(jù)庫(kù)的用戶(hù)名和密碼都一般寫(xiě)在一個(gè)配置文件中放在網(wǎng)站根目錄下,或者include文件夾下,通常文件名采用config.inc.php
ASP中的用戶(hù)名和密碼一般都放在數(shù)據(jù)庫(kù)鏈接代碼所在的文件中,如果是MDB,不用密碼也是常見(jiàn)。
放xml文件和ini文件都不是通用做法,并且不安全。PHP中可以限制外部訪(fǎng)問(wèn)