我忘记了开发人员实例的密码(不负责..是的,我正在研究它)。我已使用密码将连接保存在DBeaver中。我仍然可以使用该连接进行连接。 DBeaver不会以纯文本形式显示它。无论如何,我可以找回密码吗?要求DBA重设密码是不得已的方法。我试图将粘贴复制到记事本中,显然已禁用复制。

最佳答案

编辑:对于DBeaver 6.1.3+
凭证文件位于〜/ Library / DBeaverData / workspace6 / General / .dbeaver / credentials-config.json(我在Mac上),并且遵循的加密策略与以前的加密策略不同。请引用下一个答案以了解如何解密。它像一种魅力。
DBeaver 6.1.3之前的版本
请遵循以下步骤(我的DBeaver版本是3.5.8,并且在Mac OsX El Capitan上)

  • 找到DBeaver存储连接详细信息的文件。对于
    我,就在这个地方~/.dbeaver/General/.dbeaver-data-sources.xml。该文件是隐藏的,
    因此在寻找时请记住这一点。
  • 在该文件中找到您感兴趣的“数据源定义”节点。
  • 解密密码:不幸的是,除密码外,其他所有内容均为纯文本格式。密码采用某种加密形式。使用此tool将其解密为纯文本。

  • 要么
    通过复制DBeaver解密密码方法的核心,我整理了一个快速而肮脏的Java program。一旦有了加密的密码字符串,只需执行此程序,它将密码转换为纯文本并打印出来
    如何运行
    在第13行上,只需将OwEKLE4jpQ==替换为在.dbeaver-data-sources.xml文件中找到的感兴趣的数据源的任何加密密码即可。编译并运行它,它将打印纯文本密码。
    https://github.com/jaisonpjohn/dbeaver-password-retriever/blob/master/SimpleStringEncrypter.java
    编辑
    显然,这是一个“热门”错误。因此,我使用上述代码部署了一个AWS lambda函数。使用此密码后果自负,您将永远不会知道我是否在登录密码😬
    curl https://lmqm83ysii.execute-api.us-west-2.amazonaws.com/prod/dbeaver-password-decrypter \
    -X POST --data "OwEKLE4jpQ=="
    
    编辑2
    更好的是,这是UI http://dbeaver-password-decrypter.s3-website-us-west-2.amazonaws.com/。不用说,使用此方法后果自负。非Https至少是您的后顾之忧! 😬

    关于dbeaver - 恢复存储在我的DBeaver连接中的数据库密码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39928401/

    10-11 20:05