DedeCMS 的数据库密码不存储在某个独立的“密码文件”里,而是加密后保存在其核心配置文件中。

查看密码的过程实际上是找到配置文件,然后解读其中的加密字符串。
第一步:定位核心配置文件
DedeCMS 的数据库连接信息都存储在根目录下的一个名为 data 的文件夹里,这个文件夹通常具有很高的权限,以防止被轻易访问。
你需要找到的文件是:**/data/common.inc.php**
这个文件是 DedeCMS 的核心配置文件,包含了网站的基本信息,如数据库服务器、数据库名、用户名和密码。

文件路径示例:
如果你的网站安装在 wwwroot 目录下,那么文件路径就是:
/wwwroot/你的网站目录/data/common.inc.php
第二步:查看配置文件内容
使用你的 FTP 客户端、文件管理器(如 cPanel/Plesk 里的 File Manager)或 SSH 连接到你的服务器,打开 common.inc.php 文件。
你会看到类似下面这样的 PHP 代码:
<?php //数据库连接信息 $cfg_dbhost = 'localhost'; //数据库服务器 $cfg_dbname = 'dedecms_v57'; //数据库名 $cfg_dbuser = 'root'; //数据库用户名 $cfg_dbpwd = '这里是一串看起来像乱码的字符'; //数据库密码 $cfg_dbprefix = 'dede_'; //数据表前缀 $cfg_db_language = 'gbk'; //数据库语言版本 ?>
你真正需要关注的是这一行:
$cfg_dbpwd = '这里是一串看起来像乱码的字符';
这串“乱码”就是加密后的数据库密码。
第三步:解读加密后的密码
DedeCMS 对数据库密码进行了简单的加密,这串“乱码”就是加密后的结果,它通常不是明文,但可以通过 DedeCMS 自带的函数轻松解密。
使用 DedeCMS 自带的解密函数(推荐)
这是最准确、最官方的方法。
-
创建一个临时 PHP 文件:在你的网站根目录下,新建一个文件,
get_password.php。 -
粘贴以下代码:
<?php // 包含 DedeCMS 的核心配置文件,获取加密后的密码 require_once 'data/common.inc.php'; // 包含 DedeCMS 的加密/解密函数 // 这个文件通常在 include 目录下 require_once 'include/dedesql.class.php'; // 或者 'include/typelink.class.php' 等文件也可能包含此函数 // 如果找不到上面的文件,也可以直接定义这个解密函数 if (!function_exists('Decrypt')) { function Decrypt($txt, $key = '') { $chars = $md5Key = ''; $key = md5($key); $key_length = strlen($key); for ($i = 0; $i < 32; $i++) { $md5Key .= $key[$i % $key_length]; } for ($i = 0; $i < strlen($txt); $i++) { $k = $i % $key_length; $chars .= chr(ord($txt[$i]) - ord($md5Key[$k])); } return $chars; } } // 使用解密函数解密密码 // DedeCMS 的密钥通常是 'DedeCMS' 或 'dedecms' $decrypted_password = Decrypt($cfg_dbpwd, 'DedeCMS'); // 输出结果 echo "加密后的密码: " . $cfg_dbpwd . "<br>"; echo "解密后的密码是: " . $decrypted_password; ?> -
访问临时文件:在你的浏览器中访问
http://你的域名/get_password.php。 -
查看结果:页面会显示解密后的明文密码。
重要提示:
- 解密密钥:DedeCMS 的加密函数通常需要一个“密钥”(Key),最常用的密钥是
'DedeCMS'或'dedecms',如果上面的代码解密出来是乱码,可以尝试更换密钥。 - 安全性:操作完成后,请务必立即删除你创建的
get_password.php文件,因为它暴露了你的数据库密码,是一个巨大的安全风险。
手动解密(如果了解加密原理)
DedeCMS 的加密方式是 md5(key) + 原始密码 的某种异或运算,如果你懂 PHP,可以自己写一个解密脚本,原理和方法一类似,但对于普通用户来说,方法一更简单直接。
第四步:使用密码
现在你已经获得了数据库的明文密码,你可以:
- 使用 phpMyAdmin、Navicat、DBeaver 等数据库管理工具连接你的数据库。
- 在其他需要连接此数据库的脚本中使用这个用户名和密码。
安全警告与最佳实践
⚠️ 警告:直接修改 common.inc.php 文件中的密码字符串是错误且无效的!
你不能直接把 $cfg_dbpwd = '这里是一串看起来像乱码的字符'; 修改成 $cfg_dbpwd = '你的新密码';,这样做是不会生效的,因为 DedeCMS 程序在读取时,会尝试对这个字符串进行解密,而你的新密码是明文,解密过程会出错,导致网站无法连接数据库并报错。
正确修改 DedeCMS 数据库密码的步骤:
- 通过数据库管理工具(如 phpMyAdmin)修改:登录到你的数据库管理后台,找到对应的用户,修改其密码。
- 修改
common.inc.php文件:- 使用 DedeCMS 提供的“数据库配置”功能,登录网站后台,在【系统】->【数据库备份/还原】->【数据库配置】中修改,系统会自动帮你完成加密和写入。
- 或者,手动修改
common.inc.php文件,将$cfg_dbpwd的值修改为经过 DedeCMS 加密函数处理后的新密码字符串,这通常需要你先写一个临时的加密脚本来获取新密码的加密值,然后再替换原文件中的值。
- 查看密码:找到
data/common.inc.php文件,用 PHP 解密函数解密$cfg_dbpwd的值。 - 修改密码:先在数据库中修改,再通过 DedeCMS 后台或加密脚本同步更新
common.inc.php文件。 - 安全第一:不要在生产环境中保留任何临时的解密脚本。
