php源码怎么加密

此类加密的代表有PHP加密专家威盾、PHP在线加密平台、PHP神盾等。

这类加密以eval函数为核心,辅以各种字符串混淆和各种trick来达到加密目的(更准确地说,这应该算混淆)。
下面以一个简单的helloworld为例来说明此类加密的大致流程。

<?php

echo"helloworld";

首先,我们修改此代码以通过eval运行

<?php

eval('echo"helloworld";');

然后我们做一些转换,比如编码base64

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);

如果(md5($code)!==$hash){

exit('fileedited');

ACBC41F727E00F85BEB3440D751BB4E3

当然,你可以将这个检查链放在其他位置,以增加破解的难度。
这样,其他人就必须更加努力地破解你的程序。


既然知道了原理,解密自然就很简单了。
一般来说,只有三个步骤:

用输出替换eval,例如echo,使字符串恢复功能。
编码规则如果文件没有完全解密,则从步骤1继续

时。
然而,解密过程本身并不那么简单。
例如,如果在加密时使用gzcompress,则得到的数据将包含二进制数据,当用通用文本编辑器打开时,这些数据将显示为截断字符等。
备份期间数据丢失。
解决办法很简单也不方便,就是用二进制(十六进制)方式打开、编辑和保存。

急!php写的加密函数如何用java解密

一个简单的加解密算法,兼容php、jsp、delphi等多种语言,目前不具备中文加解密兼容性。
我希望专家能帮我解决它。
1、PHP需要修改上面的代码,内容如下:<?php$key="admin";functionkeyED($txt,$encrypt_key){$encrypt_key=md5($encrypt_key);$ctr=0;$tmp="";for($i=0;$i";echo"加密字符串:".$enc_text."
";echo"解密字符串:".$dec_text."
";?>2、jsp代码(java类)packagecom.intwork.struct.common;importjava.util.Random;importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;publicclassKeyED{publicchar[]keyED(char[]cText,Stringencrype_key){encrype_key=MD5.getInstance(encrype_key).encrypt();intctr=0;char[]cEncrype_key=encrype_key.toCharArray();char[]temp=newchar[cText.length];intind=0;Stringtmp="";for(inti=0;i

关于php类似md5那种加密出来全小写混合数字但是可以解密的函数有没有

可以使用十六进制的字符串和字符串中的十六进制来获取

<?phpechostr_encode("ha123abc-=/*-+=");//查看:B9FE3132336162632D3D2F2A2D2B3Dechostr_decode("B9FE3132336162632D3D2F2A2D2B3D");//显示:Ha123abc-=/*-+=functionstr_encode($string){//将字符串转换为十六进制$hex="";f或($i=0;$i