當前位置:首頁 » 編程語言 » php加密碼

php加密碼

發布時間: 2023-09-21 05:14:46

⑴ 如何給php代碼加密

前台加密
後台接收到後
在和鹽值拼接
在加密
存入資料庫
我用md5舉例
前台:md5(pwd);
//前台找一個js加密擴展就行
後台:
$salt
=
mt_rand(100000,999999);
//隨機鹽值
$pwd
=
md5($_GET('pwd').$salt);
//這樣雙重加密後入庫了
登錄驗證時
前台也記得加密哦

⑵ thinkphp 後台登陸密碼加密傳入密鑰

後台登陸密碼加密讓敏驗證設置:

相關函數核攜:

控制器方坦氏枝法:

⑶ PHP輸入密碼才能訪問這個頁面的代碼

給任意php頁面增加一個密碼保護,需要輸入正確密碼才能訪問。

代碼如下:

<?php

$adminkey = "123";/*設置密碼*/

session_start();

if(@$_POST['password'] == $adminkey){

$_SESSION['login'] = md5($adminkey);

}

if($_SERVER['QUERY_STRING'] == "logout"){

$_SESSION['login'] = "";

header("location: " . $_SERVER['PHP_SELF']);

exit();

}

$html_login = <<<EOF

<!DOCTYPE html>

<html>

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<style>

div{text-align:center; margin:0 auto;}

#loginform{width:230px;height:100px;background-color:#ffffff;box-shadow: 2px 2px 10px 1px #403f3f;}

</style>

</head>

<body>

<div id="loginform">

<div style="text-align:center; margin:260px auto 0px;">

<form action="" method="post">密碼<input type="password" name="password" style="width:120px; margin-top: 35px;">

<input type="submit" value="登錄" style="margin-left: 5px;">

</form>

</div>

</div>

</body>

</html>

EOF;

if(@$_SESSION['login'] != md5($adminkey)){

exit($html_login);

}

?> 這里加上要顯示的內容文字或者代碼。

(3)php加密碼擴展閱讀:

PHP雙引號和單引號的區別

1、雙引號解釋變數,單引號不解釋變數

2、雙引號里插入單引號,其中單引號里如果有變數的話,變數解釋

3、雙引號的變數睜槐名後面必須要有一個非數字、字母、下劃線的特殊字元,或者用講變數括起來,否則會將變數名後面的部分當做一個整體,引起語法錯誤

4、雙引號解釋轉義字元,單引號不解釋轉義字元,但是解釋'和

5、能使單引號字元盡量使用單引號,單引滲純號的效率比雙引號要高(因為雙引號要先遍歷一遍,判斷裡面有沒有變數,然後再進行操作,而單引號悉喊友則不需要判斷)

⑷ PHP常用加密解密方法

作者/上善若水

1.md5(string $str,bool $flag = false);

$flag = false 默認返回32位的16進至數據散列值

$flag = true  返回原始流數據

2.sha1($string,$flag = false)

$flag = false 默認返回40位的16進至數據散列值

true  返回原始流數據

3.hash(string $algo,srting $str,bool $flag);

$algo : 演算法名稱,可通過hash_algos()函數獲取所有hash加密的演算法

如:md5,sha1等,採用md5,sha1加密所得結果和1,2兩種方式結 果相同。

$flag = false 默認返回16進至的數據散列值,具體長度根據演算法不同

而不同。

true  返回原始流數據。

4.crypt(string $str,$string $salt);

函數返回使用 DES、Blowfish 或 MD5 演算法加密的字元串。

具體演算法依賴於PHP檢查之後支持的演算法和$salt的格式和長度,當 然具體結果也和操作系統有關。比較結果採用 hash_equals($crypted,crypt($input,$salt));//且salt值相同

Password_verify($str,$crypted);

5.password_hash ( string $str, integer $algo [, array $options ] )

函數返回哈希加密後的密碼字元串, password_hash() 是crypt()的 一個簡單封裝

$algo : 演算法 PASSWORD_DEFAULT ,PASSWORD_BCRYPT

$options = [

「cost」=>10,//指明演算法遞歸的層數,

「salt」=>「xxadasdsad」//加密鹽值,即將被遺 棄,採用系統自動隨機生成安全性更高

];

使用的演算法、cost 和鹽值作為哈希的一部分返回

Password_verify($str,$hashed);

6.base64_encode(string $str)

設計此種編碼是為了使二進制數據可以通過非純 8-bit 的傳輸層 傳輸,例如電子郵件的主體。base64_decode(string $encoded)

可以進行解碼;

7.mcrypt_encrypt ( string $cipher , string $key , string $data ,

string $mode [, string $iv ] )

mcrypt_decrypt ( string $cipher , string $key , string $crypted ,

string $mode [, string $iv ] )

$ciper:加密演算法,mcrypt_list_algorithms()可以獲取該函數所有支持的演算法

如MCRYPT_DES(「des」),MCRYPT_RIJNDAEL_128(「rijndael-128」);

$mode : 加密模式 ,mcrypt_list_modes()獲取所有支持的加密模式,ecb,cbc

$key: 加密的秘鑰,mcrypt_get_key_size ( string $cipher , string $mode )

獲取指定的演算法和模式所需的密鑰長度。$key要滿足這個長度,如果長 度無效會報出警告。

$iv : 加密的初始向量,可通過mcrypt_create_iv ( int $size [, int $source = MCRYPT_DEV_URANDOM ] ),

Iv的參數size:

通過mcrypt_get_iv_size ( string $cipher , string $mode )獲取

Iv 的參數source:

初始向量數據來源。可選值有: MCRYPT_RAND (系統隨機數生成 器), MCRYPT_DEV_RANDOM (從 /dev/random 文件讀取數據) 和  MCRYPT_DEV_URANDOM (從 /dev/urandom 文件讀取數據)。 在 Windows 平台,PHP 5.3.0 之前的版本中,僅支持 MCRYPT_RAND。

請注意,在 PHP 5.6.0 之前的版本中, 此參數的默認值 為 MCRYPT_DEV_RANDOM。

Note: 需要注意的是,如果沒有更多可用的用來產生隨機數據的信息, 那麼 MCRYPT_DEV_RANDOM 可能進入阻塞狀態。

$data : 要加密的字元串數據

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

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

第一種方法:可以使用如下方法對用戶密碼進行加密:Mysql>SET user@”localhost” PASSWORD=PASSWORD(”Password”);

第二種方法:可以使用MYSQL的 PASSWORD函數進行用戶密碼的加密。例如:Insert into user(password, ……..) values (PASSWORD(”$password”,………));

可以在一個PHP文件裡面include另外一個PHP文件兩次嗎

是的,可以在一個PHP文件裡面include另外一個PHP文件兩次,被include的那個php文件也會執行兩次,所以如果在這個文件裡面定義的有一個class, 就會報出the class already defined的錯誤。

mysql的最長資料庫名,表名,欄位名可以是多長

資料庫名字最長為64

數據表名字最長為64

欄位名字最長為64

mysql_pconnect()和mysql_connect()有什麼區別

兩者的區別主要有兩個:

1. 在進行資料庫連接時,函數會先找同一個host, 用戶和密碼的persistent(持續的)的'鏈接,如果能找到,則使尺豎用這個鏈接而不返回一個新的鏈接。

2. mysql_pconnect()創建的資料庫連接陵笑大在腳本執行完畢後仍然保留,可以被後來的代碼繼續使用,mysql_close()函升慶數也不會關閉mysql_pconnect()創建的鏈接。

;

⑹ php源碼怎麼加密

一、無需任何PHP擴展的加密

此類加密的代表有 威盾PHP加密專家、PHP在線加密平台、PHP神盾 等。

此類加密都是以eval函數為核心,輔以各式各樣的字元串混淆和各種小技巧,來達到加密目的(更准確的說,應該算是混淆)。下面以一個簡單的hello world為例來說明此類加密的大體過程。

<?php

echo "hello world";

首先 ,我們把這段代碼變為通過eval執行的

<?php

eval('echo "hello world";');

然後 ,我們再進行一些轉換,比如說base64編碼

<?php

eval(base64_decode('ZWNobyAiaGVsbG8gd29ybGQiOw=='));

就這樣子,我們的第一個加密過的php代碼新鮮出爐了。。。

上面這個例子非常非常簡單,基本上任何有一點php語言基礎甚至別的語言基礎的人都能輕松的看懂並解密。因此,我們需要一些方法讓這個加密至少看上去不是那麼簡單。

二、同時採用多種編碼函數

除了剛才提到的base64,php還有許多內置的編碼函數,例如urlencode、gzcompress等。把這些函數混合使用可以提高解密的復雜度(不是難度),此外還可以使用strtr來制定自己的編碼規則。 使用變數來代替函數名 使用特定字元來命名變數

這兒所說的特定字元是一些極其相似的字元,如I和1,0和O。試想一下滿屏都是O和0組成的變數,並且每一個的名字長度都在10個字元以上。。。 判斷文件自身是否被修改

這個功能看似容易,對文件做一下摘要再進行下對比即可知道是否被修改了,但是如何才能在文件內把摘要嵌入進去呢?我沒有找到完美的方案,但一個變通的方案還是很容易的。。。

<?php

$code = substr(file_get_contents(__FILE__), 0, -32);

$hash = substr(file_get_contents(__FILE__), -32);

if (md5($code) !== $hash) {

exit('file edited');

}

當然,你可以把這個校驗字元串放在別的位置來提高破解的難度。有了這個,別人想破解你的程序可就得多費一點功夫了。。。

既然知道了原理,那解密自然也就非常簡單了,總體來說就三步:

把eval替換為輸出,比如echo 根據編碼規則把字元串還原 如果文件未解密完全,從第一步開始繼續

當然,實際上的解密過程並沒有這么簡單,比如說如果加密的時候使用了gzcompress,那得到的數據將會包含一些二進制數據,而採用一般的文本編輯器打開時這些數據都會顯示為亂碼,並且在保存時丟失部分數據。解決方法很簡單也很麻煩,那就是使用二進制(16進制)方式打開、修改和保存。

⑺ 如何對PHP文件進行加密

對PHP文件進行加密,通常使用 Zend Guard,這是目前市面上應用比較多的PHP源碼加密產品。

加密流程大概如下:
1、打開Zend Guard 5.5.0,[File]->[New]->[Zend Guard Project],新建項目。
2、點擊 Next ,下一步。彈出如下對話框,選擇要進行加密的源文件或文件夾

3、接下來是選擇PHP的版本[與你web伺服器上PHP的版本相對照],這里很重要,版本不對會出錯,[Finish]完成項目的創建。
4、在Zend Guard左側的Guard Explorer中,可以看到你新建的項目了,滑鼠選中項目名稱後,右鍵單擊[Encode Project],完成。

⑻ 怎樣給HTML/PHP網頁增加密碼驗證

很簡單 密碼為123456 你可以在login.php裡面改

index.html 將以下代碼放入 <body></body>裡面就可以
<form method="post" action="login.php">
密碼: <input type="password" name="password"/><br>
<input type="submit" name="submit" value="登陸">
</form>

login.php 完整的login.php內容
<?php
$password = isset($_POST['password']) ? $_POST['password'] : '';
if($password == '123456'){
echo "<script>alert('登陸成功。');location.href='in.html';</script>";
//不需要提示 則把 alert('登陸成功。'); 刪除掉
}else{
echo "<script>alert('密碼錯誤 登陸失敗。。');location.href='error.html';</script>";
//不需要提示 則去掉 同上
}
?>

OK 了 簡單吧。

⑼ 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口令加密的同樣方法施行口令加密。

熱點內容
資料庫應用系統的概念 發布:2025-02-02 02:44:46 瀏覽:546
存儲甘油違法 發布:2025-02-02 02:35:36 瀏覽:988
壓縮譜寫法 發布:2025-02-02 02:26:33 瀏覽:934
ipad電子書上傳 發布:2025-02-02 02:22:14 瀏覽:402
堅果郵件怎麼配置 發布:2025-02-02 02:15:14 瀏覽:332
安卓跟h5哪個好 發布:2025-02-02 02:07:56 瀏覽:852
vcjava 發布:2025-02-02 02:06:27 瀏覽:338
航海世紀55區是什麼伺服器 發布:2025-02-02 02:01:22 瀏覽:835
php獲取當前年 發布:2025-02-02 01:50:41 瀏覽:159
sqlbrowser服務 發布:2025-02-02 01:32:14 瀏覽:732