当访问开源项目不知道数据库用户登录密码的解决办法
问题描述
当我们从网上克隆一份开源代码,进入登录页面却不知道用户名和密码的时候,如何解决?
以青年dcy-fast-cloud项目为例:
假设环境,数据库都已经配置好,项目正常启动,却在前端登录时不知道用户名密码
首先访问数据库
可以获得管理员用户名admin,但是密码却是一串加密文件
如果采用解密方式获取密码特别麻烦,而且对于复杂加密方法还不一定能成功
解决方案
我采用的是生成123456新密码覆盖原密码的暴力破解方案,仅供参考
具体步骤如下:
- 访问后端代码需要用到加密算法的地方:一般在用户管理Controler类的添加用户、修改密码等方法下
以我的修改密码方法为例,第一行获取用户信息不用看,直接找到与密码相关的方法,比如setPassword
设置密码,其中PASSWORD_ENCODER.encode()
方法就是我的加密算法
- 按住Ctrl按钮点击encode方法,查看加密的具体算法
确认是加密算法,其实到这就不用再看具体源码了
- 创建test方法,测试方法最好在test文件夹下执行
测试文件最好与被测试方法所在的包名对应
- 创建测试方法
- 打印加密结果
- 复制结果
$2a$10$5TRzqxmS1.GcLo0LAOKuIuyzYOnlp0tD7S2BEXlnXlaprhFXyfDV6
到数据库,覆盖原密码,刷新
- 访问前端页面,输入用户名密码,登录成功,简单粗暴