php7加密
在注冊時進行$pass=md5($pass)就行了呀!登陸也是同樣的道理,先把用戶的密碼進行加密一次再和資料庫裡面的密碼進行比較。比如:$pass=md5($_POST[pass])
⑵ php aes ecb pkcs7padding 加密
<?php
class CryptAES
{
protected $cipher = MCRYPT_RIJNDAEL_128;
protected $mode = MCRYPT_MODE_ECB;
protected $pad_method = NULL;
protected $secret_key = '';
protected $iv = '';
public function set_cipher($cipher)
{
$this->cipher = $cipher;
}
public function set_mode($mode)
{
$this->mode = $mode;
}
public function set_iv($iv)
{
$this->iv = $iv;
}
public function set_key($key)
{
$this->secret_key = $key;
}
public function require_pkcs5()
{
$this->pad_method = 'pkcs5';
}
protected function pad_or_unpad($str, $ext)
{
if ( is_null($this->pad_method) )
{
return $str;
}
else
{
$func_name = __CLASS__ . '::' . $this->pad_method . '_' . $ext . 'pad';
if ( is_callable($func_name) )
{
$size = mcrypt_get_block_size($this->cipher, $this->mode);
return call_user_func($func_name, $str, $size);
}
}
return $str;
}
protected function pad($str)
{
return $this->pad_or_unpad($str, '');
}
protected function unpad($str)
{
return $this->pad_or_unpad($str, 'un');
}
public function encrypt($str)
{
$str = $this->pad($str);
$td = mcrypt_mole_open($this->cipher, '', $this->mode, '');
if ( empty($this->iv) )
{
$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
}
else
{
$iv = $this->iv;
}
mcrypt_generic_init($td, $this->secret_key, $iv);
$cyper_text = mcrypt_generic($td, $str);
$rt=base64_encode($cyper_text);
//$rt = bin2hex($cyper_text);
mcrypt_generic_deinit($td);
mcrypt_mole_close($td);
return $rt;
}
public function decrypt($str){
$td = mcrypt_mole_open($this->cipher, '', $this->mode, '');
if ( empty($this->iv) )
{
$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
}
else
{
$iv = $this->iv;
}
mcrypt_generic_init($td, $this->secret_key, $iv);
//$decrypted_text = mdecrypt_generic($td, self::hex2bin($str));
$decrypted_text = mdecrypt_generic($td, base64_decode($str));
$rt = $decrypted_text;
mcrypt_generic_deinit($td);
mcrypt_mole_close($td);
return $this->unpad($rt);
}
public static function hex2bin($hexdata) {
$bindata = '';
$length = strlen($hexdata);
for ($i=0; $i<$length;$i += 2)
{
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}
public static function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
public static function pkcs5_unpad($text)
{
$pad = ord($text{strlen($text) - 1});
if ($pad > strlen($text)) return false;
if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false;
return substr($text, 0, -1 * $pad);
}
}
$keyStr = '187522'; //私鑰
$aes = new CryptAES();
$aes->set_key($keyStr);
/* $arr = array('1'=>'aaa1111','2'=>array(1,2));
$bb = serialize($arr);
//echo $aes->encrypt($arr);
$a = $aes->decrypt($aes->encrypt($bb));
$c=unserialize($a); */
?>
⑶ php文件加密,用什麼方法加密的
php代碼加密通常採用的都是zend加密
如果你想運行加密的網站程序,可以使用純綠色集成環境phpwamp8.1.8.8,裡面默認自帶php7等6個版本,基本都集成了解密組件,完美運行各加密程序,phpwamp還支持自定義設置php版本,官方提供700個php版本隨你切換。
⑷ php如何加密無法破解
第一個!一般不會下載源碼,除非網站設置成了源文件訪問
第二個:Zend加密太容易破解!PHP追尋的就是開源!哈哈……
⑸ php7代碼如何加密
我們先寫出函數:
<?php
function encode_file_contents($filename) {
$type=strtolower(substr(strrchr($filename,'.'),1));
if ('php' == $type && is_file($filename) && is_writable($filename)) { //
如果是PHP文件 並且可寫 則進行壓縮編碼
$contents = file_get_contents($filename); // 判斷文件是否已經被編碼處
理
$contents = php_strip_whitespace($filename);
// 去除PHP頭部和尾部標識
$headerPos = strpos($contents,'<?php');
$footerPos = strrpos($contents,'?>');
$contents = substr($contents, $headerPos + 5, $footerPos -
$headerPos);
$encode = base64_encode(gzdeflate($contents)); // 開始編碼
$encode = '<?php'." eval(gzinflate(base64_decode("."'".
$encode."'"."))); ?>";
return file_put_contents($filename, $encode);
}
return false;
}
調用此函數:
$filename = 'result1.php';
encode_file_contents($filename);
echo "OK,加密完成!";
?>
3
測試是否加密成功:文件名為result1.php,運行代碼
4
運行成功。
⑹ php7 源代碼加密擴展有哪些
$ wget https://codeload.github.com/liexusong/php-beast/zip/php7
$ unzip php-beast-php7.zip
$ cd php-beast-php7
$ phpize
$ ./configure
$ sudo make && make install
編譯好之後修改php.ini配置文件, 加入配置項: extension=beast.so, 重啟php-fpm
⑺ php加密授權以及打包怎麼做
1關於PHP打包
把PHP解釋器和PHP項目打包成一個安裝包完全沒有問題的,我甚至把PHP解釋器打包到Android手機上跑都沒問題.因為PHP官方提供了Windows版本的二進制包,所以連自己編譯這一步都省了,為了精簡PHP解釋器,你可以把你不需要的擴展都刪除掉,比如intl擴展及其依賴的ICU,精簡後打包估計解釋器能小於5個MB.因為PHP內置了HTTP伺服器和SQLite資料庫,所以客戶端連Apache和MySQL也不依賴了,直接就能跑PHP項目,而且還省資源.
2.關於PHP代碼保護
PHP7的opcache支持用opcache.file_cache導出PHP腳本對應的二進制opcode,這些opcode是跟操作系統和PHP解釋器版本相關的,能起到一定的代碼保護的作用.另外,Zend Guard和ionCube也提供了付費的PHP代碼加密服務.
3.授權
比如可以在加密過的PHP代碼里判斷$_SERVER['SERVER_NAME'],如果不是授權時綁定的域名,就直接拒絕服務.如果還有什麼不懂不明白的,你可以和我在後盾人看看教材找找答案,時間久了,就都清楚了,希望能幫到你
⑻ 這是PHP什麼加密方式 如何解密
zend的加密完全可以破解,網上可以下載在zend解密的東西,打開後選擇文件就可以給你解密(但是不是全部能解,因為zend是有版本的,高版本的可能解不了。)
如果是base64加密的你,例如$a是被加密過後的字元串,那麼你可以echo base64_decode($a);來查看。base64實際上並不是加密,只是一個編碼而已。