我有一组 hsqldb 格式的数据库文件(即.data
和.properties
文件.script
),但管理它们的人以前退出并且没有留下任何凭据。当我尝试使用任何方式连接到数据库以访问独立的基于文件的数据库(例如 SqlTool 或 DatabaseManager)时,传递默认的“sa”用户和默认的空密码,我得到类似的东西:
java.sql.SQLException:找不到用户:SA 在 org.hsqldb.jdbc.Util.sqlException(未知来源) 在 org.hsqldb.jdbc.jdbcConnection.(未知来源) 在 org.hsqldb.jdbcDriver.getConnection(未知来源) 在 org.hsqldb.jdbcDriver.connect(未知来源) 在 java.sql.DriverManager.getConnection(DriverManager.java:582) 在 java.sql.DriverManager.getConnection(DriverManager.java:185) ...
有没有办法轻松绕过整个 hsqldb 身份验证和授权方案,只需重置“sa”用户的全部权限?我已经挖掘了整个 hsqldb 文档并通过 Google 进行了一些研究,但我找不到任何方法来绕过它?
或者如果没有暴力破解是完全不可能的(即文件实际上是用给定的密码加密的)?这个问题提到密码存储在.script
文件中,但看起来我使用命令设置COMPRESSED
或BINARY
格式化(我无法用肉眼分辨哪一个) ,尽管我在文件SET SCRIPTFORMAT
中看到原始的实时字符串数据.data
. 是否可以解密 BINARY 格式?