问题标签 [pgcrypto]

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 回答
297 浏览

python - 函数 pgp_sym_encrypt(numeric, unknown) 不存在

我在我的 Django 项目中为 pgcrypto使用https://github.com/incuna/django-pgcrypto-fields 。它可以很好地插入、更新字段。但是当我尝试类似的东西时

它让我 psycopg2.errors.UndefinedFunction: function pgp_sym_encrypt(numeric, unknown) 不存在

任何帮助都会很棒。谢谢 :)

0 投票
1 回答
55 浏览

postgresql - 为什么我的 psql (postgreSQL) 没有插入电子邮件和密码

我使用以下代码创建了一个表,并使用 bf 加密了密码。

在此之后,如果我尝试使用以下命令插入数据 - :

我收到错误“ INSERT 的目标列多于表达式

在此处输入图像描述

0 投票
1 回答
194 浏览

postgresql - pgcrypto:PostgreSQL 中的列加密需要建议

我有一张表,我想加密它的几列,使用 PostgreSQL 的 pgcrypto 函数。假设我想使用 pgp_sym_encrypt( 'sample_name', 'someKey' , [options])。

我需要有关如何以及在何处存储“someKey”的建议。我知道 KMS 功能不是直截了当的(可能尚未在 PG-12 中完全实现),但在代码中存储“someKey”是不可取的,也不可存储在其他一些数据库/服务器中。

我希望我是否可以生成一个随机密钥来加密数据,但我还需要在获取时解密它 - 请对此提出任何建议。

我现在正在探索学习阶段的选择。

0 投票
2 回答
801 浏览

sql - psql PGP_SYM_DECRYPT:提示:没有函数匹配给定的名称和参数类型

从今天早上开始:

存在扩展 pg_crypto。

所以我无法从以前的 pgp_sym_encrypt 查询中选择任何数据......出了什么问题?如何解决?

0 投票
1 回答
134 浏览

sql - 使用 pgcrypto 加密整个列

我需要使用 AES-256 密钥加密一些列,我查看了 pgcrypto 的官方文档。但是他们的例子让我很生气。

例如我有数据库看起来像这样。

我尝试过这样的事情:

我需要加密 first_name 和 last_name 列。我该如何实施?

谢谢,qww

0 投票
0 回答
171 浏览

postgresql - postgresql 使用对称密钥加密并滚动它

  • 我想加密 postgresql 中表内的数据,我可能会加密该表中的几列或所有列数据。
  • 如果我直接从 sql 客户端(DBeaver、Adminer)查询,那么我可以检索列值但它不可读(因为它是加密的)
  • 如果我的应用程序(网络应用程序)查询表数据,它将显示可读数据。Web 应用程序具有正确的解密密钥。

问题 :

  1. 假设我使用对称密钥(pgcrypto)进行加密,我如何定期轮换对称密钥?
  2. 我可以在 AWS 实施上述案例吗?
0 投票
0 回答
74 浏览

python - 如何在 python 中使用 postgres pgcrypto?

我是 postgres 的新手,并使用 python 制作命令行密码管理器。我想使用 python 对我的主密码进行哈希处理并将其存储到数据库中。我在 psql shell 中使用了 pgcrypto,它可以工作,但不知道如何在 python 中使用它。任何人的一点帮助都可以完成我的工作。

0 投票
1 回答
410 浏览

node.js - 如何在 .select 语句中使用带有 knex 的 pgcrypto?(Postgres 数据库)

我目前正在使用knex将我的 node.js 服务器连接到postgres数据库,并且我已经开始使用pgcrypto它来加密我的一些数据。我在加密数据方面有点晚了,所以我有几个查询需要更新,并且正在寻找最有效的方法,不仅可以交换我的查询,还可以实际查询数据库。当我尝试PGP_SYM_DECRYPT直接在knex.select()查询中实现时,我收到一条错误消息,提示找不到用户。但是,如果我使用knex.raw()查询,我可以让它工作。有什么方法可以使用查询PGG_SYM_DECRYPT内部.select(),或者可能有一种方法可以在查询旁边传递密钥,以便自动解密任何加密列?

示例工作代码:

示例 DESIRED 代码(或其他一些变体):

有什么想法吗?

0 投票
1 回答
85 浏览

postgresql - pgcrypto:无法正常用户

我需要pgcrypto在 postgresql 12 实例上启用。

我启用了扩展并检查它是否正常:

我遵循了我在 SO 上阅读的建议:

可悲的是,仍然无法通过“普通用户”使用该功能。

欢迎任何提示,谢谢:)