解密不适用于以加密值查询加密记录的记录

问题描述

我有一个用户表,我需要在其中存储加密格式的电子邮件。我可以通过在用户模型中将加密的值设置为true来做到这一点。但是,当我尝试根据电子邮件ID获取该数据时。我以纯文本格式传递没有加密值的电子邮件ID,并尝试查找具有该值的记录。但是我找不到始终为空的值。

有什么方法可以查询带有解密值的记录,并且存储的值是否为加密格式?

以下是我要尝试的代码段。

module.exports = {

  attributes: {

    //  ╔═╗╦═╗╦╔╦╗╦╔╦╗╦╦  ╦╔═╗╔═╗
    //  ╠═╝╠╦╝║║║║║ ║ ║╚╗╔╝║╣ ╚═╗
    //  ╩  ╩╚═╩╩ ╩╩ ╩ ╩ ╚╝ ╚═╝╚═╝
    email: { 
      type: 'string',required: true,isEmail: true,encrypt: true,maxLength: 512,}
  }
}

将记录保存在表中

await User.create({email: '[email protected]'})

通过此电子邮件查找记录

let userData = await User.find({email: '[email protected]'}).decrypt();
console.log('user Data',userData)

我得到的输出是空数组,而不是具有匹配记录的数组

user data []

我也尝试不解密。它还提供了空值。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)