導航:首頁 > 編程語言 > php用戶密碼加密

php用戶密碼加密

發布時間:2022-12-28 13:30:08

php怎麼在post前加密用戶名 密碼

不需要加密,也無法加密。可以這么說,如果資料庫和程序是在同一伺服器,及資料庫的地址是localhost,那麼無需加密,因為加密了資料庫並不能自己解密,而且只要網站或者伺服器不被攻下,沒有加密的必要。
資料庫和php程序在不同的伺服器,就是說你在操作資料庫的時候需要遠程操作,這樣的話需要傳輸資料庫賬號密碼,可以在本地加密後傳輸,然後在資料庫伺服器進行解密後,用原始的賬號密碼去操作資料庫。

Ⅱ php登陸頁面密碼加密

你這段代碼是客戶端提交頁面時,使用JavaScript加密。
所以你需要一個hex_md5()的js函數。

與php沒有任何關系。

Ⅲ php怎麼在post前加密用戶名 密碼

用戶名 密碼 都加上一個用戶的注冊時間 然後md5(); 這樣客戶端不能知道真正的信息,但是你可以知道。 前提是你必須記錄下這個用戶名的加密值來進行用戶識別。

Ⅳ php賬號密碼什麼加密方式比較好

一般使用非對稱加密,32位 md5足夠了。
當驗證密碼對不對時,使用密碼明文 md5加密後與密文對比,一致則說明密碼是對的

Ⅳ PHP如何對用戶密碼進行加密

第一種方法:可以使用如下方法對用戶密碼進行加密:MySqlSET user@localhost PASSWORD=PASSWORD(」Password」);
第二種方法:可以使用MYSQL的 PASSWORD函數進行用戶密碼的加密。例如:Insert into user(password, ……..) values (PASSWORD(」$password」,………));

Ⅵ php實現密碼加密

在注冊時進行$pass=md5($pass)就行了呀!登陸也是同樣的道理,先把用戶的密碼進行加密一次再和資料庫裡面的密碼進行比較。比如:$pass=md5($_POST[pass])

Ⅶ 請教老師PHP調用WEBAPI時用戶密碼如何加密

如果是在客戶端請求介面,可以自己寫加密演算法,數據用可逆加密,比如base64,或者轉成ascii碼再加減乘除,在演算法中引入一個用不可逆加密處理的密鑰,不可逆的加密包括md5,取余數等方式。但是你得保證介面端那邊能解開你的加密。不過話說回來,為什麼要在客戶端請求介面呢?客戶端請求介面,再怎麼加密都不安全。所以建議還是在服務端請求,服務端請求介面加不加密都無所謂了,如果非要加密,可參考上面說的加密方式。

Ⅷ 用php將密碼存入資料庫,用什麼方法進行加密

題主你可以使用 md5 或者 sha1 進行初步處理,但為了更加安全,請你同時加上兩個 salt,一個靜態 salt,一個動態的 salt。以 md5 為例:
假設通過 POST 傳來的密碼為 $_POST['password'],在存入 DB 前先進行如下的操作:
$password = hash('md5', $_POST['password'].$staticSalt.$dynamicSalt);

為了保證動態 salt 的唯一性,可以這樣操作:
$dynamicSalt = hash('md5', microtime());

對於動態的 salt 可以與生成的密碼一起保存在 DB 中,而靜態 salt 則可以直接放在類文件中(例如定義為一個靜態屬性即可)。
首先謝謝題主採納了我的答案,但是我之前的回答並不是最佳答案,之所以有此加密的想法源於自己所讀的源碼可能比較老,所以並沒使用上較新版本的加密方法,例如 bcrypt等。
此外,第二點,感謝評論中幾位前輩的提點,已經明白設置靜態 salt 的意義並不大,生成一個較長的動態 salt 已然可以解決問題。

LZ應該採用加鹽HASH。
如何「腌制」密碼呢?
=_,=
正確的格式應該是,用戶password+動態的salt
動態的salt不能像2L所說的,使用microtime,因為時間在某些情況下不夠隨機,而且是可能被猜解的。
這里推薦一個我用的加鹽HASH
$salt=base64_encode(mcrypt_create_iv(32,MCRYPT_DEV_RANDOM));
$password=sha1($register_password.$salt);

解釋:
首先使用mcrypt,產生電腦隨機生成的,專門用戶加密的隨機數函數。
第二步,把得到的隨機數通過base64加密,使其變長並且不利於猜解。
第三步,把得出的鹽拼接到密碼的後面,再對其使用sha1進行哈希
再把password存入到用戶的資料庫。
PS:為何不用靜態的salt?沒有必要,使用一個動態隨機足夠長的鹽足矣。
為何不用MD5?因為長度不夠。
為何沒有使用多次HASH?因為這樣反而容易發生碰撞。
HASH好之後怎麼使用「腌制」好的密碼?
用戶注冊->提交密碼->產生salt->腌制好的密碼存入資料庫->salt存入資料庫。
用戶登錄->提交密碼->調用salt接到提交密碼的後面->進行HASH->調用之前注冊腌制好的密碼->對比HASH值是否和這個密碼相同

Ⅸ 用php寫會員注冊 密碼加密問題

數據被截獲是無法避免的,除非用SSL加密。
比較安全的方法可以這樣:
1. 數據正常提交至lr.php
2. 獲取一個當前時間time()
3. 將密碼組合time()後md5
4. 將組合後的密碼md5值和之前獲取的time()一起存入資料庫。

當今後需要登錄時首先獲取用戶名對應的time(),再組合上密碼進行md5,和資料庫內的密碼md5對比。

Ⅹ php密碼加密問題

老外寫的,我上學那會研究了一個星期,現在早忘光了。還是拿來主義好!
<?php

function aes128cbcEncrypt($key, $text) {
/* Open the cipher */
$td = mcrypt_mole_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
if (! $td) {
throw new GeneralSecurityException('Invalid mcrypt cipher, check your libmcrypt library and php-mcrypt extention');
}
// replaced MCRYPT_DEV_RANDOM with MCRYPT_RAND since windows doesn't have /dev/rand :)
srand((double)microtime() * 1000000);
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
/* Intialize encryption */
mcrypt_generic_init($td, $key, $iv);
/* Encrypt data */
$encrypted = mcrypt_generic($td, $text);
/* Terminate encryption handler */
mcrypt_generic_deinit($td);
/*
* AES-128-CBC encryption. The IV is returned as the first 16 bytes
* of the cipher text.
*/
return $iv . $encrypted;
}

function aes128cbcDecrypt($key, $encrypted_text) {
/* Open the cipher */
$td = mcrypt_mole_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
if (is_callable('mb_substr')) {
$iv = mb_substr($encrypted_text, 0, Crypto_CIPHER_BLOCK_SIZE, 'latin1');
} else {
$iv = substr($encrypted_text, 0, Crypto_CIPHER_BLOCK_SIZE);
}
/* Initialize encryption mole for decryption */
mcrypt_generic_init($td, $key, $iv);
/* Decrypt encrypted string */
if (is_callable('mb_substr')) {
$encrypted = mb_substr($encrypted_text, Crypto_CIPHER_BLOCK_SIZE, mb_strlen($encrypted_text, 'latin1'), 'latin1');
} else {
$encrypted = substr($encrypted_text, Crypto_CIPHER_BLOCK_SIZE);
}
$decrypted = mdecrypt_generic($td, $encrypted);
/* Terminate decryption handle and close mole */
mcrypt_generic_deinit($td);
mcrypt_mole_close($td);
/* Show string */
return trim($decrypted);
}
define('Crypto_CIPHER_BLOCK_SIZE',16);
$pass = '123456';//你的密碼
$text = 'this is text';//隨便的點文字 生成密鑰用
$a= aes128cbcEncrypt($pass,$text);
echo base64_encode($a)."/r/n";
$b= aes128cbcDecrypt($pass,$a);
echo $b."/r/n";
$c= aes128cbcDecrypt($pass,base64_decode(base64_encode($a)));//最終密鑰 $c
echo $c."/r/n";
?>

閱讀全文

與php用戶密碼加密相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:736
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163