thinkphp加密解密
用dw編輯器自帶的加密工具,或者自己寫js加密解密腳本
❷ 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源碼被使用zend加密,現階段還沒用解密方法。但是好像現在有這樣的一個studio,他們成功地完成了zend和eac的decode
不過是收費的
❹ php 加密解密
如果這前後四位數 都是估計的四位,那麼就可以實現用一個方法
把這個字元串穿進去,
然後截取,前面的四位和後面的四位,
然後加密好了,再重新拼接好返回即可。
❺ thinkphp資料庫配置信息加密怎麼處理
今天有一個朋友問我thinkphp的這個問題,剛好網路搜索到你這個問題。已經解決。就幫你解答一下這個問題。
首先我嘗試在入口文件封裝一個加密函數,我用php des 加密,然後在配置文件config.php調用。然後在控制器裡面使用,列印配置文件:mp(C());//輸出所有的配置文件信息, 雖然能看到正確的數據用戶名和密碼,但是會報錯。失敗告終。
我說一下我的解決方法。很簡單。
1:把配置文件裡面的用戶名,密碼,資料庫名瞎寫一寫,別人看到你的代碼的配置文件看到的就是錯誤的資料庫名和密碼了。比如:
'DB_NAME' => 'SB', // 資料庫名
'DB_USER' => 'ni_da_ye', // 用戶名
'DB_PWD' => 'da_da_bi', // 密碼
在每個控制器文件裡面。加入一段代碼。
比如你的IndexController.class.php文件。加下面的代碼。
/* 初始化方法*/
public function __construct(){
parent::__construct();
C("DB_NAME",decrypt('712349721937491237'));//資料庫名,
C('DB_USER',decrypt('712349721937491237'));//用戶名
C('DB_PWD',decrypt('712349721937491237'));//密碼
}
看清楚了嗎?
decrypt()這個函數就是我封裝的一個加密函數,親自測試沒有錯誤。可能會犧牲一些性能。但是保證了用戶名,密碼,資料庫名沒有泄露。甚至你都可以把資料庫連接地址也加密一下。希望能幫到你。
PHP加密函數可以考慮用des,aes這些可逆加密。別用什麼md4,md5.
❻ thinkphp MD5加密問題
AUTH_CODE這個參數是自定義的,每個網站的參數都不一樣,有些網站為了安全,這個值還是隨機數,這樣的話,就打打加強了開源程序的安全性。encrypt這個函數在這里就是讀取配置文件中的隨機數和MD5加密之後的文件再做個二次加密,所以就很安全咯
是否可以解決您的問題?
❼ 我從網上下來的php源碼,所有的php文件都被加密了,怎麼批量破解
目前php加密的方法主要有Zend加密,這個解密的話很簡單,網上很多教程。基本都是一鍵解密。因為zend本身就提供解密。
還有一個是ioncube加密,這個解密也不是很難,教程很多。基本也可以一鍵解密。
還有比較多的是,程序員自己對源碼進行加密,這個比較蛋疼,解密的話只能靠自己的經驗,沒有統一的解密方法。
你要先知道用的是那種加密,如果是Zend或者ioncube解密都很簡單,網上很多教程。
❽ sql查詢base64 數據 thinkphp怎麼解密
如果爛洞你 的mysql版本是飢緩枯5.6.1以上的,可以試哪漏一下 SELECT FROM_BASE64(欄位); 這樣就可以查出來了。如果不是你要查出來用其他語音來,比如php 的base64_decode 這個函數。