问题标签 [dbms-crypto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
669 浏览

oracle - 如何使用 Oracle 的 dbms 加密来创建与 htpasswd 兼容的密码

有没有办法使用 Oracles DBMS_CRYPTO PL/SQL 包来创建与 apache 的 htpasswd 兼容的密码?因此,在 PL/SQL 包中,我创建了一个散列密码,稍后将其存储在 .htpasswd 文件中时,它可以正常工作。

我们目前在 unix 中使用命令 htpasswd -n -b -d 执行此操作。但是,我们希望创建它们并将它们保存在 Oracle 表中。然后在需要时检索它们以创建 .htpasswd 文件。

谢谢!

0 投票
2 回答
12687 浏览

java - 在 Oracle 11g 中选择 DBMS_CRYPTO 密码哈希

我目前在我的 Oracle 数据库中使用DBMS_CRYPTO.HASH. 然而,此时,我需要让我的 Java 应用程序能够以类似于 MySQL 的方式验证用户输入的密码。就像是:

我目前正在通过以下过程进行散列:

然后我执行如下过程,插入表中:

在我的情况下有没有更好的方法来实现这一点?如果这很重要,我正在使用 Oracle 11g。

0 投票
3 回答
6729 浏览

oracle - Oracle PL/SQL dbms_crypto 包可以解密使用 Linux gpg 命令加密的文件吗?

我是加密新手,我想弄清楚 Linux gpg 命令和 Oracle 的 dbms_crypto 包是否可以一起工作。Oracle 版本是 11R2。我将收到由不同系统加密的文件,如果可能,我想通过 PL/SQL 解密它们。我正在作为 POC 运行下面的线程,看看这是否可能。

在 Linux 提示符下,我使用以下命令创建了一个密钥:

使用此命令创建了一个公钥(使用实际的电子邮件地址):

并像这样加密我的文件:

标准输出中有这条消息:

所以现在我有一个加密文件。

我使用 blobs/clobs 将我的加密文件和我的 pub 密钥加载到一个 Oracle 表中。我正在尝试使用 dbms_crypto.decrypt 函数来解密文件:

在这一点上,我不确定要为第二个参数传递什么值,即“要使用的流或块密码类型和修饰符”。我尝试了几种不同的组合,导致各种可能不值得发布的异常。

所以我的问题是:

  1. 这可能吗?
  2. 我如何弄清楚第二个论点?

谢谢

0 投票
1 回答
852 浏览

oracle - 使用 DBMS_crypto 加密/解密 null

我已经在互联网上搜索了当你加密一个空值并解密它时发生的事情。

到目前为止,在我的实验中。在我的表中,我有一列是时间戳。我有几行数据,在这几行中,我混合了适当的时间戳和空值。

我试过这个:

第一个参数是我的私钥,第二个参数是我要比较的日期。

我不断收到以下异常:

我猜原来的空值被解密为0。有人可以确认或阐明这一点吗?我真的很难过。

0 投票
1 回答
1562 浏览

php - 用 PLSQL 加密字符串,然后用 PHP 解密

我有一个应用程序,我正在尝试使用 PLSQL (dbms_crypto.encrypt) 加密字符串,将其保存到 cookie,然后使用 PHP (mcrypt_decrypt) 读取 cookie 并解密字符串。我有一段时间让字符串解密。希望有人以前做过这个并且可以帮助我吗?

这是 PLSQL 代码:(在 Oracle 11 中运行)

如果我没看错,数据是使用 DES 和 CBC 和 PKCS5 加密的。这是代码的输出:

PHP 显然使用 MCRYPT_decode,但我似乎无法正确输出。我拼凑了一个完成部分工作的脚本,但输出看起来总是编码的。我的问题是我并没有真正了解所有选项的真正含义。CBC 和 PKCS5 对我来说有点希腊化。问题的一部分似乎也可能是文本编码(HEX vs RAW / BIN)。我想我只是很困惑。

这是我的 PHP 代码:(在 PHP 5.3.10 上运行)

和输出:

任何帮助将不胜感激。这个小问题阻碍了一个更大的项目。

提前致谢。

0 投票
1 回答
1456 浏览

oracle - 使用加密的 LOB 文件加载 Oracle 表,然后对其进行解密

我收到了一个包含 1000 万行数据的大型加密文件。

我需要将它加载到 oracle 数据库中(以加密形式),然后使用 pl/sql 和 oracle 内置的 dbms_crypto 在数据库中对其进行解密。

然后我需要处理未加密的 LOB 以分离出 1000 万行。

我将拥有该文件的公钥。该文件的大小约为 5GB。这可能只使用 pl/sql 吗?(和 oracle 内置程序)

有没有人有做这种事情的经验?- 任何指针都将受到欢迎。

谢谢

0 投票
1 回答
1109 浏览

database - DBMS_CRYPTO.RANDOMBYTES 返回 null

此语句返回 null 而不是 64 个随机字节:

是什么导致它返回null?数据库是在 Windows Server 2003 上运行的 Oracle 10.1.0.2.0,我想使用随机字节作为密码散列的盐。

编辑:这是 sqlplus 的输出:

Edit2:切换到 Oracle 11 时,查询有效。我不知道为什么它不能在 Oracle 10 上运行,但决定不使用那个旧数据库。

0 投票
1 回答
17360 浏览

oracle - 缺少 DBMS_CRYPTO 包

我正在使用 Oracle Database 11g Enterprise Edition Release 11.2.00.40 - 64bit Production。我们有一个初始管理员用户,将通过在安装过程中插入到表中来在数据库中创建该用户。此操作需要使用 SH1 协议对密码进行加密。根据 Oracle 文档,我应该能够使用数据库企业版附带的 DBMS_CRYPTO 包。但是我无法看到它。我可以看到 DBMS_CRYPTO_TOOLKIT 包,而不是 DBMS_CRYPTO。这个包没有很好的文档记录,但我发现它是随 Oracle 12c 一起提供的,这甚至让我更加困惑。

我应该额外安装 DBMS_CRYPTO 包还是使用 DBMS_CRYPTO_TOOLKIT 包?有没有人可以解释如何使用 DBMS_CRYPTO_TOOLKIT 包加密通行证?我没有对数据库的 SYS 访问权限,所以我想知道是否有一种方法可以生成 SH1 密码而不使用足够简单的 DBMS_CRYPTO?换句话说,值得安装吗?

0 投票
1 回答
36222 浏览

oracle - 授予 dbms_crypto 权限

我在我的 oracle 程序中使用 dbms_crypto.encrypt 函数来加密密码。我已连接到 oracle:

然后授予权限:

然后我可以在我的程序中使用 dbms_crypto。但我想知道如何检查我的数据库是否授予 dbms_crypto 权限?因为我必须在另一个数据库中使用此过程,并且不知道该数据库是否具有 dbms_crypto 的授予权限。

0 投票
0 回答
5317 浏览

oracle - 解密加密密码时出现 SYS.DBMS_CRYPTO 错误

我在包中有以下函数,我试图解密加密的密码,但收到以下错误消息:

当我在不同的服务器和机器上运行这个包时,我可以执行这个包并能够使用相同的查询解密密码。

下面是我的包裹:

我还尝试向DBMS_CRYPTO用户授予权限,并且我的包也已编译但是当我尝试运行以下命令来解密密码时,我收到了错误。