php將密碼存入資料庫,可以分內常見的4種方式:
1、直接md5加密存到到資料庫
2、md5兩次存到資料庫
3、對需要加密的字元串和一個常量 進行混淆加密
4、生成一個隨機的變數存到資料庫中,然後對需要加密的字元串和這個隨機變數加密
<?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'];//生成的隨機加密字元串存到資料庫中
$pass4=md5($str.$encrypt);
//
❷ mysql 建表的時候密碼用 md5()加密 但加密後的結果跟用PHP函數md5出來的結果不一樣
這個很明顯的錯誤,資料庫只差距了MD5加密的前30位,你password的欄位長度肯定為30,MD5加密的長度為32,所以就不一樣咯
❸ 如何用PHP、Qt開發框 架和MySQL一起做出一個文件加密傳輸系統
文件加密是指QT作為客戶端,運行在PC上,然後PHP+MySQL作為服務端,客戶端選擇一個文件,上傳到服務端後加密保存嗎?
還是說既要加密存儲,也要加密傳輸?
❹ php中mysql加鎖問題
有表鎖,行鎖,頁鎖
頁級:引擎 BDB。
表級:引擎 MyISAM , 理解為鎖住整個表,可以同時讀,寫不行
行級:引擎 INNODB , 單獨的一行記錄加鎖
1) 表級鎖:開銷小,加鎖快;不會出現死鎖;鎖定粒度大,發生鎖沖突的概率最高,並發度最低。
2) 行級鎖:開銷大,加鎖慢;會出現死鎖;鎖定粒度最小,發生鎖沖突的概率最低,並發度也最高。
3) 頁面鎖:開銷和加鎖時間界於表鎖和行鎖之間;會出現死鎖;鎖定粒度界於表鎖和行鎖之間,並發度一般。
一般不在PHP中使用鎖操作,因為如果鎖了庫,如果遇到錯誤沒有及時的解鎖,就會導致不能訪問數據的情況。
可以使用MYSQL的事務,就是定義事務開始,然後有幾個語句要執行,然後根據情況,如果有一個語句沒有執行成功,可以回滾(取消這幾個語句的執行),從而達到幾個語句都執行成功或者都不執行的效果,在強事務型的應用中一般使用這個方式
你可以去後盾人平台看看,裡面的東西不錯
❺ 在mysql資料庫md5加密和phpmd5加密結果為什麼不一樣
md5計算有16bit和32bit,你看看你的配置是不是一樣的。另外網上有很多計算md5結果的網站,他上面會同時提供16bit和32bitMD5的結果,你將你的兩個結果和他們比對一下就知道那個出錯了。
❻ php下載了MySQL資料庫後怎麼設置賬號和密碼啊
php修改mysql資料庫中的用戶名和密碼方法如下:
方法一
1、使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,
2、不過別忘了使用PASSWORD函數。
方法二
1、使用mysqladmin,這是前面聲明的一個特例。
2、mysqladmin -u root -p password mypasswd ,輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改為mypasswd。
3、把命令里的root改為你的用戶名,你就可以改你自己的密碼了。
4、當然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執行mysqladmin, 那麼這種方法就是無效的。 而且mysqladmin無法把密碼清空。
5、下面的方法都在mysql提示符下使用,且必須有mysql的root許可權:
方法三
1、mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
2、確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。
3、在《mysql中文參考手冊》里有這個例子,所以我也就寫出來了。
4、注意要使用PASSWORD函數,然後還要使用FLUSH PRIVILEGES。
方法四
和方法三一樣,只是使用了REPLACE語句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
方法五
1、使用SET PASSWORD語句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
2、也必須使用PASSWORD()函數,
3、但是不需要使用FLUSH PRIVILEGES。
方法六
1、使用GRANT ... IDENTIFIED BY語句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
2、這里PASSWORD()函數是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。
❼ PHP+MYSQL 資料庫的用戶名和密碼保存問題
你所說的用戶名和密碼是登陸MySQL用的還是登陸PHP系統用的?
如果是mySQL的那你大可不必擔心,安裝mySQL的時候root賬號設置為禁止遠程登錄,也就是只有127.0.0.1和localhost才能對mySQL訪問.只要密碼強度足夠,而且定時更換的話,是被破解的機會是不大的(我所在公司的informix資料庫登錄密碼都在10位以上.暴力破解的話,不知道哪年才有結果.
如果是登陸php的,只要在php代碼健壯性足夠,操作系統也沒有漏洞的情況下.也不是那麼容易被破解
ps:密碼使用不可逆的一些加密演算法來保存.既明文可以轉換成密文,而密文不可以轉換成明文的演算法.
例如MD5(但是MD5現在網上有近8萬億條的密碼字典了).SHA這些
❽ 求助老師:關於php+mysql密碼加密與登錄問題
如果你得php版本在5.5以上的話可以直接使用php推出的一個password_hash方法對密碼進行加密,
或者使用這個polyfill可以達到一樣的效果
$salt = mcrypt_create_iv(22, MCRYPT_DEV_URANDOM);
$salt = base64_encode($salt);
$salt = str_replace('+', '.', $salt);
$hash = crypt('rasmuslerdorf', '$2y$10$'.$salt.'$');
echo $hash
❾ 各位用php將密碼存入資料庫,都用什麼方法進行加密的
php將密碼存入資料庫,可以分內常見的4種方式:
1、直接md5加密存到到資料庫
2、md5兩次存到資料庫
3、對需要加密的字元串和一個常量 進行混淆加密
4、生成一個隨機的變數存到資料庫中,然後對需要加密的字元串和這個隨機變數加密
<?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']; // 生成的 隨機加密字元串 存到資料庫中$pass4=md5($str.$encrypt);//
❿ php+mysql這種情況下如何保證我的資料庫信息的安全
建立一個鏈接文件:如conn.php,然後用zend將conn.php文件加密就可以了。
conn.php代碼如下:
<?php
$mysql_server_name='localhost';
$mysql_username='root';
$mysql_password='12345678';
$mysql_database='mycounter';
$conn=@mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
if ($conn) {
if (!@mysql_select_db($mysql_database))
{
die("選擇資料庫是失敗");
}
}
else
{
die("資料庫連接失敗");
}
?>