当前位置: 首页 > 知识库问答 >
问题:

使用Django进行PostgreSQL Db流量加密

董飞
2023-03-14

我使用Django 3.08和PostgreSQL 12远程服务器。我已经搜索了Postgres和Django的文档,但是找不到关于Django如何/是否加密我的应用程序和数据库之间的流量的讨论。

在我看来,根据PostgreSQL中的设置,PostgreSQL中默认情况下使用md5加密对流量进行加密,并通过端口5432通过tcp发送流量。我的理解是,md5不再足以加密。然而,PostgreSQL自PostgreSQL 10以来一直支持scram-Sha-256。是否有人知道或参考我可以在哪里设置我的应用程序以使用更强的加密,或者如果我将网站上的所有流量设置为在 settings.py 文件中使用https,那么这一切都得到了照顾。或者,如果我只是在PostgreSQL中更改设置,Django会使用scram-Sha-256吗?

共有1个答案

颛孙天宇
2023-03-14

MD5和scram sha-256用于基于密码的身份验证,而不是加密。虽然密码交换本身对窃听连接的人来说无法以明文形式读取,但其余数据(查询和结果)仍然是可读的,并且如果会话被劫持,则可以更改。

加密是通过ssl (common)实现的,或者在最近的版本中可能是通过与GSSAPI认证绑定的加密实现的(我认为这种情况很少见)。

参考资料当然是服务器和客户机的文档(据我所知,Django使用psycopg2,而psycopg 2又使用libpq)

 类似资料:
  • 我有一个BigDecimals(在本例中是)的集合,希望将其添加在一起。有没有可能使用流来实现这一点? 我注意到类有几个方法 每一个都有一个方便的方法。但是,正如我们所知,和算术几乎总是一个坏主意。 那么,有没有方便的方法来求和BigDecimals呢? 这是我目前掌握的代码。 为后人编辑后答案: 这两个答案都非常有用。我想补充一点:我的实际场景不涉及原始的集合,它们包装在发票中。但是,我能够修改

  • 我想用Django更新一个表-类似这样的原始SQL: 我的第一个结果是这样的——但这很恶心,不是吗? 有没有更优雅的方式?

  • 谢谢你的任何提示或帮助。

  • 我正在使用我有一个类,如下所示: 现在我想做的是: 筛选出senderId无效的记录(使用映射) 下面是我的代码: 这给我带来了一个错误: 错误:(105,90)java:找不到适用于groupingBy(共享[…]的方法gMode,java。util。作用函数)方法java。util。流动收藏家。groupingBy(java.util.function.function)不适用(无法推断类型变

  • 问题内容: 我之所以写这个问题+答案,是因为我挣扎了很多(也许是因为缺乏经验),并迷失了使用node或python进行加密/解密的许多不同方式。 我以为我的案子将来可以帮助人们。 我需要做的是: 从表单获取数据,使用Crypto(node-js)对其进行加密 在Python中传递加密的数据,然后使用PyCrypto将其解密。 我选择使用AES加密。 这是我的开始方式(我不会尝试的所有事情): 我遵

  • 我正在尝试编写一个加密文件,它将使用gpg解密,并将以增量方式写入行,而不是在一个块中。我已经在GnuPG中生成了密钥,并且正在使用公钥加密。下面是我正在使用的加密方法: 我有一个小的原型测试类来使用这种方法: 我怎样才能修改这段代码,使它既能加密两行,又能让GnuPG解密它们呢?