怎样给PHP源代码加密?PHP二进制加密与解密的解决办法_php实例
分享2种PHP的源码加密方式,此加密方法支持任意PHP版。
注意,加密后的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,' $footerPos = strrpos($contents,'?>');
$contents = substr($contents, $headerPos + 5, $footerPos - $headerPos);
$encode = base64_encode(gzdeflate($contents)); // 开始编码
$encode = '";
return file_put_contents($filename, $encode);
}
return false;
}
//调用函数
$filename = 'dam.php';
encode_file_contents($filename);
echo "OK,加密完成!"
?>
加密方式2:
function RandAbc($length = "") { // 返回随机字符串
$str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
return str_shuffle($str);
}
$filename = 'index.php'; //要加密的文件
$T_k1 = RandAbc(); //随机密匙1
$T_k2 = RandAbc(); //随机密匙2
$vstr = file_get_contents($filename);
$v1 = base64_encode($vstr);
$c = strtr($v1, $T_k1, $T_k2); //根据密匙替换对应字符。
$c = $T_k1.$T_k2.$c;
$q1 = "O00O0O";
$q2 = "O0O000";
$q3 = "O0OO00";
$q4 = "OO0O00";
$q5 = "OO0000";
$q6 = "O00OO0";
$s = '$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval(\'?>\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.$q5.'))));').'"));';
$s = '';
//echo $s;
// 生成 加密后的PHP文件
$fpp1 = fopen('temp_'.$filename, 'w');
fwrite($fpp1, $s) or die('写文件错误');
?>
其实,PHP加密源码方式有很多,譬如,免费的微盾PHP加密,还有 www.phpjm.net 搞的在线加密,只是phpjm更复杂点而已。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
另外,分享一个 PHP类,它能对 文本的内容进行 二进制加密 与 解密,代码如下:
class text_auth
{
var $n_iter;
function text_auth()
{
$this->setIter(32);
}
function setIter($n_iter)
{
$this->n_iter = $n_iter;
}
function getIter()
{
return $this->n_iter;
}
function encrypt($data, $key)
{
$n = $this->_resize($data, 4);
$data_long[0] = $n;
$n_data_long = $this->_str2long(1, $data, $data_long);
$n = count($data_long);
if (($n & 1) == 1) {
$data_long[$n] = chr(0);
$n_data_long++;
}
$this->_resize($key, 16, true);
if ( '' == $key )
$key = '0000000000000000';
$n_key_long = $this->_str2long(0, $key, $key_long);
$enc_data = '';
$w = array(0, 0);
$j = 0;
$k = array(0, 0, 0, 0);
for ($i = 0; $i if ($j + 4 $k[0] = $key_long[$j];
$k[1] = $key_long[$j + 1];
$k[2] = $key_long[$j + 2];
$k[3] = $key_long[$j + 3];
} else {
$k[0] = $key_long[$j % $n_key_long];
$k[1] = $key_long[($j + 1) % $n_key_long];
$k[2] = $key_long[($j + 2) % $n_key_long];
$k[3] = $key_long[($j + 3) % $n_key_long];
}
$j = ($j + 4) % $n_key_long;
$this->_encipherLong($data_long[$i], $data_long[++$i], $w, $k);
$enc_data .= $this->_long2str($w[0]);
$enc_data .= $this->_long2str($w[1]);
}
return $enc_data;
}
function decrypt($enc_data, $key)
{
$n_enc_data_long = $this->_str2long(0, $enc_data, $enc_data_long);
$this->_resize($key, 16, true);
if ( '' == $key )
$key = '0000000000000000';
$n_key_long = $this->_str2long(0, $key, $key_long);
$data = '';
$w = array(0, 0);
$j = 0;
$len = 0;
$k = array(0, 0, 0, 0);
$pos = 0;
for ($i = 0; $i if ($j + 4 $k[0] = $key_long[$j];
$k[1] = $key_long[$j + 1];
$k[2] = $key_long[$j + 2];
$k[3] = $key_long[$j + 3];
} else {
$k[0] = $key_long[$j % $n_key_long];
$k[1] = $key_long[($j + 1) % $n_key_long];
$k[2] = $key_long[($j + 2) % $n_key_long];
$k[3] = $key_long[($j + 3) % $n_key_long];
}
$j = ($j + 4) % $n_key_long;
$this->_decipherLong($enc_data_long[$i], $enc_data_long[$i + 1], $w, $k);
if (0 == $i) {
$len = $w[0];
if (4 $data .= $this->_long2str($w[1]);
} else {
$data .= substr($this->_long2str($w[1]), 0, $len % 4);
}
} else {
$pos = ($i - 1) * 4;
if ($pos + 4 $data .= $this->_long2str($w[0]);
if ($pos + 8 $data .= $this->_long2str($w[1]);
} elseif ($pos + 4 $data .= substr($this->_long2str($w[1]), 0, $len % 4);
}
} else {
$data .= substr($this->_long2str($w[0]), 0, $len % 4);
}
}
}
return $data;
}
function _encipherLong($y, $z, &$w, &$k)
{
$sum = (integer) 0;
$delta = 0x9E3779B9;
$n = (integer) $this->n_iter;
while ($n-- > 0) {
$y = $this->_add($y,
$this->_add($z _rshift($z, 5), $z) ^
$this->_add($sum, $k[$sum & 3]));
$sum = $this->_add($sum, $delta);
$z = $this->_add($z,
$this->_add($y _rshift($y, 5), $y) ^
$this->_add($sum, $k[$this->_rshift($sum, 11) & 3]));
}
$w[0] = $y;
$w[1] = $z;
}
function _decipherLong($y, $z, &$w, &$k)
{
$sum = 0xC6EF3720;
$delta = 0x9E3779B9;
$n = (integer) $this->n_iter;
while ($n-- > 0) {
$z = $this->_add($z,
-($this->_add($y _rshift($y, 5), $y) ^
$this->_add($sum, $k[$this->_rshift($sum, 11) & 3])));
$sum = $this->_add($sum, -$delta);
$y = $this->_add($y,
-($this->_add($z _rshift($z, 5), $z) ^
$this->_add($sum, $k[$sum & 3])));
}
$w[0] = $y;
$w[1] = $z;
}
function _resize(&$data, $size, $nonull = false)
{
$n = strlen($data);
$nmod = $n % $size;
if ( 0 == $nmod )
$nmod = $size;
if ($nmod > 0) {
if ($nonull) {
for ($i = $n; $i $data[$i] = $data[$i % $n];
}
} else {
for ($i = $n; $i $data[$i] = chr(0);
}
}
}
return $n;
}
function _hex2bin($str)
{
$len = strlen($str);
return pack('H' . $len, $str);
}
function _str2long($start, &$data, &$data_long)
{
$n = strlen($data);
$tmp = unpack('N*', $data);
$j = $start;
foreach ($tmp as $value)
$data_long[$j++] = $value;
return $j;
}
function _long2str($l)
{
return pack('N', $l);
}
function _rshift($integer, $n)
{
if (0xffffffff $integer) {
$integer = fmod($integer, 0xffffffff + 1);
}
if (0x7fffffff $integer -= 0xffffffff + 1.0;
} elseif (-0x80000000 > $integer) {
$integer += 0xffffffff + 1.0;
}
if (0 > $integer) {
$integer &= 0x7fffffff;
$integer >>= $n;
$integer |= 1 } else {
$integer >>= $n;
}
return $integer;
}
function _add($i1, $i2)
{
$result = 0.0;
foreach (func_get_args() as $value) {
if (0.0 > $value) {
$value -= 1.0 + 0xffffffff;
}
$result += $value;
}
if (0xffffffff $result) {
$result = fmod($result, 0xffffffff + 1);
}
if (0x7fffffff $result -= 0xffffffff + 1.0;
} elseif (-0x80000000 > $result) {
$result += 0xffffffff + 1.0;
}
return $result;
}
}
?>
使用方法参考如下:
// 加密过程
view sourceprint?
$text_file = S_ROOT . './456.php';
$str = @file_get_contents($text_file);
require_once S_ROOT . "./text_auth.php";
$text_auth = new text_auth(64);
$str = $text_auth->encrypt($str, "qianyunlai.com");
$filename = S_ROOT . './789.php'; // 加密后的文本为二进制,普通的文本编辑器无法正常查看
file_put_contents($filename, $str);
// 解密过程
view sourceprint
?01 $text_file = S_ROOT . './789.php';
$str = @file_get_contents($text_file);
require_once S_ROOT . "./text_auth.php";
$text_auth = new text_auth(64);
$str = $text_auth->decrypt($str, "qianyunlai.com");
$filename = S_ROOT . './456.php';
file_put_contents($filename, $str);

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP ist eine beliebte serverseitige Programmiersprache, die häufig bei der Entwicklung von Webanwendungen verwendet wird. In praktischen Anwendungen sind PHP-Verschlüsselung und -Entschlüsselung sehr häufige Vorgänge. In diesem Artikel werden gängige Verschlüsselungs- und Entschlüsselungsmethoden in PHP sowie Lösungen für häufige Probleme vorgestellt. 1. Verschlüsselungsmethode 1. Symmetrische Verschlüsselungsmethode (SymmetricCryptography) Die symmetrische Verschlüsselungsmethode ist die am weitesten verbreitete Methode in der Verschlüsselungstechnologie. Diese Methode verwendet denselben Schlüssel zum Verschlüsseln und Entschlüsseln von Daten. In PHP wird häufig die symmetrische Verschlüsselung verwendet

Mit der kontinuierlichen Weiterentwicklung der Netzwerktechnologie hat die Datensicherheit immer mehr Aufmerksamkeit auf sich gezogen. Im Informationszeitalter ist PHP als weit verbreitete Programmiersprache auch mit Problemen der Datensicherheit konfrontiert. In diesem Artikel erfahren Sie, wie Sie mit PHP die Datenverschlüsselung, -entschlüsselung und -übertragung implementieren, um die Datensicherheit zu gewährleisten. 1. Datenverschlüsselung Datenverschlüsselung bezieht sich auf eine Technologie, die Originaldaten verarbeitet und sie in eine scheinbar zufällige Folge von Zeichen umwandelt, um die Originaldaten zu schützen. Die Verschlüsselung wird in Einwegverschlüsselung und symmetrische Verschlüsselung unterteilt. Einwegverschlüsselung bedeutet, dass nur Verschlüsselungsvorgänge durchgeführt werden können

Methoden und Techniken zur Datenverschlüsselung und -entschlüsselung mithilfe von PHP-Arrays Zusammenfassung: Datenverschlüsselung spielt eine wichtige Rolle in der Informationssicherheit. In diesem Artikel werden Methoden und Techniken zur Verwendung von PHP-Arrays zur Implementierung der Datenverschlüsselung und -entschlüsselung vorgestellt, um die Sicherheit vertraulicher Informationen zu schützen. Einleitung In der modernen Gesellschaft haben Fragen der Netzwerksicherheit zunehmend Aufmerksamkeit erregt. Um die Sicherheit sensibler Informationen zu schützen, ist die Datenverschlüsselung eine gängige Methode. PHP-Array ist eine leistungsstarke und flexible Datenstruktur, die zum Speichern und Bearbeiten von Daten verwendet werden kann. Durch die Speicherung sensibler Daten im PHP-Array

So nutzen Sie die PHP-Verschlüsselungstechnologie, um den Registrierungsprozess zu schützen und Registrierungsbetrug zu verhindern. Im heutigen Internetzeitalter ist das Registrierungssystem zu einer Grundfunktion jeder Website geworden. Aufgrund der Offenheit und des freien Zugangs des Internets verwenden einige Kriminelle jedoch häufig automatisierte Skripte, um böswillige Registrierungen durchzuführen, was zu Problemen beim normalen Betrieb der Website führt. Daher ist der Schutz des Registrierungsprozesses und die Verhinderung von Registrierungsbetrug zu einer sehr wichtigen Aufgabe geworden. Um den Registrierungsprozess zu schützen und Registrierungsbetrug zu verhindern, können wir die PHP-Verschlüsselungstechnologie verwenden, um die Sicherheit des Registrierungssystems zu erhöhen. Runter

Mit der Popularisierung der Netzwerktechnologie sind Fragen der Netzwerksicherheit zu einem Thema mit zunehmender Besorgnis geworden, und auch die Ver- und Entschlüsselungstechnologie hat große Aufmerksamkeit erregt. Bei der PHP-Programmierung ist die Verschlüsselungs- und Entschlüsselungstechnologie ein sehr wichtiger Bestandteil. Sie kann uns helfen, die Sicherheit von Daten zu gewährleisten und Datendiebstahl und böswillige Angriffe zu verhindern. In diesem Artikel werden häufig verwendete Verschlüsselungs- und Entschlüsselungsalgorithmen und -lösungen in PHP vorgestellt. 1. Die Rolle der Verschlüsselungs- und Entschlüsselungstechnologie Im Netzwerk stößt die Datenübertragung häufig auf viele unsichere Situationen, z. B. wenn Daten von Kriminellen abgefangen, manipuliert und gestohlen werden.

In der Webentwicklung war Sicherheit schon immer eines der wichtigsten Themen. Risiken wie Schlüsselverlust, Datenmanipulation und Diebstahl sind immer vorhanden, daher ist der Schutz der Datensicherheit besonders wichtig. Um die Datensicherheit zu gewährleisten, nutzen wir bei der Datenverarbeitung in der Regel eine Ver- und Entschlüsselung. In PHP sind Verschlüsselung und Entschlüsselung ebenfalls sehr wichtige Bestandteile. 1. Verschlüsselungsmethoden in PHP In PHP gibt es viele Verschlüsselungsmethoden. Im Folgenden stellen wir einige häufig verwendete Verschlüsselungsmethoden vor. MD5-Verschlüsselung MD5 ist eine häufig verwendete Verschlüsselungsmethode. Es

PHP-Entwicklungstipps: So implementieren Sie Datenverschlüsselungs- und -entschlüsselungsfunktionen In modernen Webanwendungen ist Datensicherheit ein sehr wichtiges Thema. Wenn sensible Daten der Benutzer übertragen oder gespeichert werden müssen, müssen wir sie normalerweise verschlüsseln, um die Sicherheit der Daten zu gewährleisten. In der PHP-Entwicklung werden verschiedene Verschlüsselungsmethoden und -technologien bereitgestellt. In diesem Artikel wird erläutert, wie PHP zur Implementierung von Datenverschlüsselungs- und -entschlüsselungsfunktionen verwendet wird, und es werden spezifische Codebeispiele bereitgestellt. 1. Symmetrische Verschlüsselung und Entschlüsselung Die symmetrische Verschlüsselung ist eine Methode, die denselben Schlüssel für die Verschlüsselung und Entschlüsselung verwendet. im PH

Analyse der Verschlüsselungs- und Entschlüsselungstechnologie sicherheitsrelevanter Daten in PHP Mit der Entwicklung des Internets ist die Datensicherheit zu einem wichtigen Thema geworden. Für Website-Entwickler ist es besonders wichtig, die sensiblen Daten der Nutzer zu schützen. In PHP können wir verschiedene Verschlüsselungs- und Entschlüsselungstechnologien verwenden, um sensible Daten zu schützen. Dieser Artikel bietet eine detaillierte Analyse der Verschlüsselungs- und Entschlüsselungstechnologien für sicherheitsrelevante Daten in PHP. 1. Grundprinzipien der Verschlüsselung Bei der Verschlüsselung wird Klartext in Chiffriertext umgewandelt. Nur die Person, die über den Schlüssel verfügt, kann den Chiffriertext entschlüsseln und in Klartext wiederherstellen. In PHP gängige Verschlüsselungsmethoden
