【问题标题】:BIRT report how to decrypt password from db and showBIRT 报告如何从数据库中解密密码并显示
【发布时间】:2020-05-08 05:55:18
【问题描述】:

是否有可能从 oracle 数据库中显示已解密的加密密码字段或任何其他加密字段并显示在 BIRT 报告中?

【问题讨论】:

  • 我认为——如果你知道如何解密它——那么是的。否则,我想不会。
  • 我们在说什么密码? Oracle 用户密码,还是应用程序加密的数据?

标签: java oracle birt


【解决方案1】:

如果您谈论的是 Oracle 用户帐户密码,那么答案是“否”。 Oracle 不会将加密密码存储在数据库中的任何位置,只有单向哈希,无法解密。

如果您谈论的是应用程序加密的数据,那么它将取决于如何数据是加密的。

  • 如果它是在数据库中加密的,使用类似的包 DBMS_CRYPTO,并且报告可以访问加密密钥和 作为查询的一部分执行解密函数的能力,然后 “是的”。
  • 如果它是由应用程序从数据库外部加密的 并简单地存储为加密数据,然后“可能不是”,就像你一样 无权访问数据库中的加密密钥或 需要算法。
  • 如果使用 Oracle 的透明数据加密对静态数据进行加密,则无需执行任何操作。 Oracle 将在数据被选中并存储在内存中时自动对其进行解密。

【讨论】:

    【解决方案2】:

    如果您指的是存储在 *.rptdesign 或 *.rptlibrary 文件中的数据源属性中的数据库密码: 这只是 base64 加密(略好于明文)。所以解密很容易。

    【讨论】:

    • 您好 hvb,感谢您的及时回复。我在 db 中有一个使用 base64 加密的字段值(不是密码字段..只是其他一些字段),如何在表达式生成器中解密?有什么例子吗?
    • 那是另一个话题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    相关资源
    最近更新 更多