java - BIRT 报告如何从数据库中解密密码并显示
问题描述
是否有可能从 oracle 数据库中显示解密的加密密码字段或任何其他加密字段并显示在 BIRT 报告中?
解决方案
如果您谈论的是 Oracle 用户帐户密码,那么答案是“否”。Oracle 不会将加密密码存储在数据库中的任何位置,只有单向哈希,无法解密。
- https://docs.oracle.com/database/121/DBSEG/authentication.htm#DBSEG30341 “Oracle 数据库生成用户密码的单向哈希并存储它以供验证提供的登录密码时使用。”
- https://seanstuber.com/how-oracle-stores-passwords/
如果您谈论的是应用程序加密的数据,那么它将取决于数据的加密方式。
- 如果它在数据库中被加密,使用像 DBMS_CRYPTO 这样的包,并且报告可以访问加密密钥并且能够执行解密函数作为查询的一部分,那么“是”。
- 如果它是由应用程序从数据库外部加密并简单地存储为加密数据,那么“可能不会”,因为您无法在数据库中访问所需的加密密钥或算法。
- 如果使用 Oracle 的透明数据加密对静态数据进行加密,则无需执行任何操作。当数据被选中并存储在内存中时,Oracle 将自动解密数据。
推荐阅读
- azure - 如何下载 Azure 迁移依赖关系图?
- html - 从其他组件访问常用方法
- amazon-web-services - 如何更改 AWS Cognito 消息中的默认发件人 ID 以验证手机号码?
- ios - 如何为 iOS 创建自定义数字键盘?
- css - 将自定义类添加到 mat-menu
- python - 如何在python中循环多个图像?
- php - 如何使用 Doctrines Query Builder 定义多个 orWhere 查询
- visual-studio-2015 - Azure DevOps devenv.com /Build 创建窗口句柄时出错
- node.js - 为什么我对同一路径的多个 GET 请求不起作用,但只有第一个有效?
- c# - ASP.NET Core 2.0 如何在策略中访问 UserManager?