django 过滤器和 django 加密字段

2023-12-12

我有以下具有名字字段的模型。

from django.db import models
from encrypted_fields import EncryptedCharField

class Customer(models.Model):
    first_name = EncryptedCharField(max_len=30)

I use Django 加密字段加密存储在我的数据库中的数据。截至目前(我认为)我无法过滤结果。

我想做这个:

customers = Customer.objects.all().filter(first_name__icontains="George") #George exists as customer

但我得到一个空列表。有什么办法可以解决这个问题吗?


根据设计,这是不可能的。数据库中存储的数据是不透明的 blob,因此即使您将字段设置为包含“George”的明文,该文本也不在数据库中。

再次加密数据并将存储的数据库值与其进行比较的想法很有趣,但它仍然行不通。数据是用随机数加密的初始化向量,因此您不能简单地重现结果。

可能的解决方案

不过,您也许可以通过散列来解决该问题。例如,如果您的用户提供电子邮件和密码进行身份验证,但您希望将电子邮件加密存储在数据库中,则除了加密电子邮件之外,您还可以存储电子邮件的哈希版本。然后,您可以重现哈希值并对其进行查询,并且只有在找到用户后才解密电子邮件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django 过滤器和 django 加密字段 的相关文章

  • 对同色像素块的边界进行着色

    我有一张有 5 种不同颜色的图像 在这种情况下 随机生成 w h 40 27 img Image new RGB w h pixels img load available colors r 255 13 18 b 72 64 255 y
  • 如何按照文档规定的方式使用 python-daemon?

    我正在尝试用 python 创建一个守护进程 并且遇到了 python daemon 包 有趣的是 我见过的最常见的使用方式甚至不是文档 https www python org dev peps pep 3143 非常稀疏 告诉你要做的
  • Matlab 和 Python 中的优化算法(dog-leg trust-region)

    我正在尝试使用 Matlab 和 Python 中的狗腿信赖域算法求解一组非线性方程 在Matlab中有fsolve https www mathworks com help optim ug fsolve html其中此算法是默认算法 而
  • 删除网格线,但保留框架(matplotlib 中的 ggplot2 样式)

    使用 Matplotlib 我想删除图中的网格线 同时保留框架 即轴线 我已经尝试过下面的代码和其他选项 但我无法让它工作 如何在删除网格线的同时保留框架 我这样做是为了在 matplotlib 中重现 ggplot2 图 我在下面创建了一
  • 如何在 SQLAlchemy 中连接两个表中的数据?

    我有3张桌子 Account User and Organization Account由组成id name and organization id User由组成email and organization id Organization
  • 求 Petersen 子图中的哈密顿路径

    我开始使用 IDE Jupyter Python 3 6 并出现了一个问题 我必须通过IDE绘制Petersen子图中的哈密顿路径 但我不知道该怎么做 我显示有关该图的信息 彼得森图 https en wikipedia org wiki
  • 使用Python下载YouTube视频到某个目录

    我已尝试使用以下代码在 YouTube 中下载视频并且它可以正常工作 但我想将视频保存在特定位置 现在它正在将视频保存在C Users Download 如果我想将视频保存在桌面上 我需要对代码进行哪些更改 from future impo
  • 将多种类型存储为 C++ 字典中的值?

    我想编写一个行为几乎等同于 Python 字典的 C 对象 C 的std map and std unordered map容纳了 Python 字典已有的一些功能 但缺乏最重要的功能之一 即能够添加任意对象和类型 即使不可能 您离实现 P
  • 将 python 字典翻译为 C++

    我有包含以下代码的 python 代码 d d 0 0 0 d 1 2 1 d 2 1 2 d 2 3 3 d 3 2 4 for i j in d print d i j d j i 不幸的是 对于我的目的来说 循环遍历 python 中
  • 多输出回归问题的多重损失

    所以我试图训练一个 CNN 模型来预测 4 个实值输出 回归问题 我尝试使用均方误差作为损失函数 我的问题是我是否将输出层分支为 4 个不同的输出层 其中有 4 个不同的输出层由于最后一层的权重是单独更新的 loss 4 MSE 确实可以使
  • 将字符转换为日期时间 odoo 9

    我有两个字符字段 从 odoo 中的 excel 或 csv 导入数据 time 1 fields Char string Time 1 time 2 fields Char string Time 2 result fields Floa
  • 如何为python虚拟环境设置特定的python版本? [复制]

    这个问题在这里已经有答案了 我是 python 的新手 我正在尝试为我的项目添加一个新环境 该环境在我当前的环境 Python 3 7 5 上运行良好 添加所有依赖项后 我遇到了 pyttsx3 包的问题 用于 python 文本到语音 进
  • 清除pyqt中布局中的所有小部件

    有没有办法清除 删除 布局中的所有小部件 self plot layout QtGui QGridLayout self plot layout setGeometry QtCore QRect 200 200 200 200 self r
  • Python 中 `if name == "__main__"` 是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 name main gt 做什么 https stackoverflow com questions 419163 what does if name main do 我已经用 Python 编写脚本
  • 使用 str 方法替换 string 中的多个元素

    我正在尝试编写一个函数 它接受一串 DNA 并返回赞美 我已经尝试解决这个问题有一段时间了 并浏览了 Python 文档 但无法解决 我已经为该函数编写了文档字符串 以便您可以看到答案应该是什么样子 我在这个论坛上看到过类似的问题 但我无法
  • 如何检查给定名称的变量是否是非本地变量?

    给定一个堆栈帧和一个变量名 我如何判断该变量是否是非局部的 例子 import inspect def is nonlocal frame varname How do I implement this return varname not
  • 检查单元测试中是否调用了 Timer.cancel

    我正在使用threading Timer包在 x 秒后执行方法 但是 在某些情况下 我想提前执行此方法并取消计时器 因此不会调用两次 我如何对此进行单元测试 我想知道计时器是否已停止 以便不再调用该方法 我现在使用以下代码 不幸的是is a
  • Tensorflow:为什么 tf.case 给我错误的结果?

    我正在尝试使用tf case https www tensorflow org api docs python tf case https www tensorflow org api docs python tf case 有条件地更新张
  • 姜戈。此函数的关键字参数无效。多对多

    我有这个错误 people 是该函数的无效关键字参数 class Passage models Model name models CharField max length 255 who models ForeignKey UserPro
  • Numpy:查找两个 3-D 数组之间的欧几里德距离

    给定两个维度为 2 2 2 的 3 D 数组 A 0 0 92 92 0 92 0 92 B 0 0 92 0 0 92 92 92 如何有效地找到 A 和 B 中每个向量的欧几里得距离 我尝试过 for 循环 但速度很慢 而且我正在按 g

随机推荐