本文目錄一覽:
- 1、PHP代碼如何加密?
- 2、如何對PHP文件進行加密
- 3、PHP常用加密解密方法
- 4、請教 php如何對字符串加密和解密,求一個相關的實例!
- 5、PHP如何對用戶密碼進行加密
- 6、總結一下PHP中有哪些加密算法技術
PHP代碼如何加密?
Zend Guard 可以實現對PHP應用的腳本進行加密保護和對PHP應用的產品進行商業許可證管理。
Zend Guard 可以為許多軟件生產商和IT服務提供商提供安全的完善的加密和安全的產品發佈系統。可以輕鬆實現產品發佈的管理。
產品特點:
�6�1 PHP應用的腳本進行加密保護和對PHP應用的產品進行商業許可證管理
�6�1 增加IP的使用限制(可以防護複製應用)。這樣可以防止PHP腳本被配置在其他的服務器而運行。
�6�1 可以為IT服務提供商提供解決方案。這樣,他們的代碼就不會被輕易地修改,以便他們進行技術支持工作。
�6�1 可以讓軟件發佈商為商業的PHP產品進行靈活多樣的許可證管理。
�6�1 多樣的許可證管理包括用戶並發數,時間控制,網絡分段控制,服務器硬件控制等
如何對PHP文件進行加密
按下面方法就能成功;
方法一:將想要加密的文件——右鍵添加到壓縮文件(ZTP格式)——生成zip壓縮文件夾右鍵——打開方式——用compressdfolders之後對生成的這個文件添加密碼OK。試試!
方法二:將想要加密的文件——右鍵添加到壓縮文件——選高級——設置密碼——OK
推薦使用:「隱身俠」「文件夾加密大師」等軟件來完成比較好。
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如何對字符串加密和解密,求一個相關的實例!
字符串加密解密算法
php5.5中有更為可靠和方便的加密方式。喜歡鑽研的朋友可以了解一下:
password_hash()
基於mcrypt擴展,按位異或總結的兩個字符串加密解密算法
?php
/**
* @info 字符串加密解密算法一,利用mcrypt擴展
* @param string $string 待處理字符串
* $action ENCODE,加密 | DECODE,解密
* @return string $returnstr
*/
functionmcrypt_handle_string($string,$action= ‘ENCODE’)
{
!is_array($string) orexit;
$action== ‘DECODE’ $string=base64_decode($string);
$key= “123456”;//key可自定義或在配置文件中獲取
$mcryptAlgorithm= MCRYPT_DES;//選擇一種加密算法
$mcryptMode= MCRYPT_MODE_ECB;//選擇一種加密模式
$mcryptIv= mcrypt_create_iv(mcrypt_get_iv_size($mcryptAlgorithm,$mcryptMode),MCRYPT_RAND);//創建初始化向量$returnstr=base64_encode(mcrypt_encrypt($mcryptAlgorithm,$key,$string,$mcryptMode,$mcryptIv));
if(‘DECODE’ ==$action)
{$returnstr=mcrypt_decrypt($mcryptAlgorithm,$key,$string,$mcryptMode,$mcryptIv);
}return$returnstr;
}
?php
/**
*
* @info 字符串加密解密算法二 利用按位異或
* @param string $string 待處理字符串
* @param $action ENCODE 加密 | DECODE 解密
* @return string*/
functionStrCode($string,$action= ‘ENCODE’)
{$action!= ‘ENCODE’ $string=base64_decode($string);
$code= ”;$key=substr(md5($GLOBALS[‘pwServer’][‘HTTP_USER_AGENT’] .$GLOBALS[‘db_hash’]),
8,18);$keyLen=strlen($key);
$strLen=strlen($string);
for($i= 0;$i$strLen;$i++)
{$k=$i%$keyLen;$code.=$string[$i] ^$key[$k];
}
return($action!= ‘DECODE’ ?base64_encode($code) :$code);
}
來源jingyan.baidu.com/m/article/e4d08ffdd1ca6b0fd2f60d13.html
PHP如何對用戶密碼進行加密
PHP如何對用戶密碼進行加密
第一種方法:可以使用如下方法對用戶密碼進行加密:MySqlSET 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中有哪些加密算法技術
1. MD5加密
string md5 ( string $str [, bool $raw_output = false ] )
2. Crype加密
string crypt ( string $str [, string $salt ] )
crypt() 返回一個基於標準 UNIX DES 算法或系統上其他可用的替代算法的散列字符串。
3. Sha1加密
string sha1 ( string $str [, bool $raw_output = false ] )
4. url加密
string urlencode ( string $str )
5. base64
string base64_encode ( string $data )
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128521.html