php解密数据库密码 php数据加密解密

php代码加密怎么解密?$key = "This is supposed to be a secret key !!!";
function keyED($txt,$encrypt_key)
{
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = "";
for ($i=0;$istrlen($txt);$i){
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr;
}
return $tmp;
}
function encrypt($txt,$key)
{
srand((double)microtime()*1000000);
$encrypt_key = md5(rand(0,32000));
$ctr=0;
$tmp = "";
for ($i=0;$istrlen($txt);$i){
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($encrypt_key,$ctr,1) .
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr;
}
return keyED($tmp,$key);
}
function decrypt($txt,$key)
{
$txt = keyED($txt,$key);
$tmp = "";
for ($i=0;$istrlen($txt);$i){
$md5 = substr($txt,$i,1);
$i;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp;
}
$string = "Hello World !!!";
// encrypt $string, and store it in $enc_text
$enc_text = encrypt($string,$key);
// decrypt the encrypted text $enc_text, and store it in $dec_text
$dec_text = decrypt($enc_text,$key);
//加密
function str2hex($s)
{
$r = "";
$hexes = array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
for ($i=0; $istrlen($s); $i)=""$r .= ($hexes [(ord($s{$i})4)] . $hexes [(ord($s{$i})0xf)]);
return $r;
【php解密数据库密码 php数据加密解密】}
//解密
function hex2str($s)
{
$r = "";
for ( $i = 0; $istrlen($s); $i=""="2)"{
$x1 = ord($s{$i});
$x1 = ($x1=48$x158) ? $x1-48 : $x1-97 10;
$x2 = ord($s{$i 1});
$x2 = ($x2=48$x258) ? $x2-48 : $x2-97 10;
$r .= chr((($x14)0xf0) | ($x20x0f));
}
return $r;
}
echo str2hex("山东");
echo "
";
echo hex2str("c9bdb6ab");
?
php文件被加密怎么破解可以用黑刀Dezender来试试php解密数据库密码,我不担保可以解出来php解密数据库密码的哦,
从黑刀Dezender4.3版之后,将着力对混淆函数以及自定义函数的解密进行应对 。
大家下载压缩包并解压后 , 会发现有一个“config.ini”的文件,这就是混淆函数库啦!
打开后,可自行编辑其中的内容 , 当然 , 也可以通过黑刀Dezender的升级程序直接下载官方最新的混淆函数库文件 。这个混淆函数库就相当于是一个字典文件了,在保证格式不变的情况下,大家可以在【黑刀部落】下载《黑刀超级字典生成器》生成字典来挂入主程序进行解密,正确步骤为:先备份、改名自己的config.ini文件 , 生成的字典文件在第一行加入“[OBFUSCATE_NAME]” , 将字典文件改名为config.ini,开始解密 。
同时,黑刀部落网站的“项目中心”栏目也开设了用户提交自己已知程序被混淆的函数列表,这样的话,就能让Dezender变得越来越强了 。再也不怕混淆函数了 。呵呵 。
什么是混淆函数?混淆函数,是从Zend Guard 4.0之后新增的一项功能,能把PHP文件中的所有函数名都进行混淆,混淆后变成以“_OBFUSCATE_”开头的一串“乱码”,这种加密方式感觉有点类似Md5,因为函数名已经不是原来的样子了 , 所以解密出来的PHP文件是不能正常执行的 。黑刀Dezender在4.3版之后,新增加了挂入混淆函数库参与解密的功能,而混淆函数库,就像是一个包含了已知函数名的字典,利用这个字典,来与被混淆了的函数名(就是所谓的“乱码”)进行比对,如果比对结果相同,则解密出来的文件,基本上就可以恢复到加密前的样子了 。如果混淆函数库中没有包含该PHP文件中使用的函数名,那么解密结果依然还是会存在“乱码”的 。掌握了这个原理 , 我们就可以去想办法解决问题了 。
方式有以下几种:
第一,使用黑刀超级字典生成器产生一个字典,字典的内容可以自己把握,修改字典文件名为“config.ini”,然后打开字典文件 , 在第一行插入“[OBFUSCATE_NAME]”标记(注意,方括号也是需要的,也就是引号内的内容都要加进去),将字典文件拷贝入黑刀Dezender主程序所在目录,同时注意备份原有的config.ini文件 。这种办法费时费力,也要看运气,不过却是最实际的解决办法 。
第二 , 常看别人源代码的朋友,可以把自己已经掌握了的混淆函数的真实函数名提交到我的网站上来 。操作步骤:进入网站首页,进入项目中心的“DeZender混淆函数库更新表” , 提交 。我会定期查看大家提交上来的数据,加入到官方的混淆函数库中,不断的增强和完善官方混淆函数库 , 大家可以利用黑刀Dezender的自动升级功能对其进行升级!
php加密后怎么解密?如果你是通过MD5加密的 那就没有办法解密
如果你是通过密钥进行加密的,那就用这个密钥进行解密(用相反的操作)
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脚本中的链接数据库的用户名跟密码怎么加密?不需要加密,也无法加密 。可以这么说,如果数据库和程序是在同一服务器 , 及数据库的地址是localhost,那么无需加密 , 因为加密了数据库并不能自己解密,而且只要网站或者服务器不被攻下,没有加密的必要 。
数据库和php程序在不同的服务器,就是说你在操作数据库的时候需要远程操作,这样的话需要传输数据库账号密码 , 可以在本地加密后传输 , 然后在数据库服务器进行解密后,用原始的账号密码去操作数据库 。
--------------------------------------------------------一般来说,如果你担心服务器被攻下,那么你加密数据库账号密码是多余的,因为人家下载你的源码一看就知道鸟 。
数据库该怎么破解方法/步骤
1 我们首先要在网站源码里面找到php解密数据库密码,php数据库php解密数据库密码的用户名和密码,还有ip地址,才能连接数据库服务器 , 一般数据库信息文件,在首页里面都是有包含的,就拿dedecms来说,打开首页,会看到if(!file_exists(dirname(__FILE__).'/data/common.inc.php')) 。
2 我们就找data目录下的common.inc.php文件 , 就会看到数据库连接信息 。
3 dbhost就是ip地址,这个是数据库的IP地址,dbname 就是数据库名字 , dbuser就是数据库的用户名,dbpwd就是数据库的密码,然后打开我们要用到的mysql数据库连接软件Navicat for MySQL 。
4 依次 文件--新建连接,然后出现连接信息 , 连接名随便写,ip地址就写php解密数据库密码你要连接的服务器的ip地址,端口不变3306 , 如果有改变就写设置的端口就可以,用户名就写刚刚得到的用户名,密码就写密码 。然后连接就行 。
5 我只是给大家拿dede一个演示 , 这样就可以了,如果其他的网站,根据源码的不同,数据库信息所在的文件也有所不同,一般都在conn.php,config.php,common.php,inc.php里面找就行了 。
关于php解密数据库密码和php数据加密解密的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读