我有一个用户表,我需要存储电子邮件的加密格式。我可以通过在用户模型中设置值加密为true来做到这一点。但当我试图获取基于电子邮件ID的数据时。我正在以没有加密值的纯文本格式传递电子邮件id,并尝试查找具有该值的记录。但我不能够发现,价值永远是空的。
有没有方法用解密的值查询记录,而存储的值是以加密格式存储的??
下面是我正在尝试做的代码片段。
module.exports = {
attributes: {
// ╔═╗╦═╗╦╔╦╗╦╔╦╗╦╦ ╦╔═╗╔═╗
// ╠═╝╠╦╝║║║║║ ║ ║╚╗╔╝║╣ ╚═╗
// ╩ ╩╚═╩╩ ╩╩ ╩ ╩ ╚╝ ╚═╝╚═╝
email: {
type: 'string',
required: true,
isEmail: true,
encrypt: true,
maxLength: 512,
}
}
}
在表中保存记录
await User.create({email: 'abc@domain.com'})
使用此电子邮件查找记录
let userData = await User.find({email: 'abc@domain.com'}).decrypt();
console.log('user Data', userData)
我得到的输出是空数组,而不是具有匹配记录的数组
user data []
我也试过没有解密。它也在给空值。
当然,加密数据库字段(如电子邮件)的全部目的是使网络蠕虫很难搜索特定值。
您可以尝试在搜索前加密您的搜索值。。。。像这样的。
const emailEncrypted = 'abc@domain.com'.encrypt()
let userData = await User.find({email: emailEncrypted}).decrypt()
console.log('user Data', userData)
我做了一个简单的文件加密/解密器。它将模式和要操作的文件作为参数。加密时,它生成随机字符串并使用该字符串加密文件。解密文件时,它会提示用户输入密码,并在解密时使用该密码。 我的问题是,解密时得到的不是明文,而是胡言乱语,尽管我小心翼翼地将相同的密钥写入输入。 非常感谢James K Polk提供的加密/解密代码!
请帮帮我.谢谢!
我想得到的是 使用libnail加密密码salt 我有一个列表的盐,我想用它来加密/解密我的密码。当我加密密码时,我得到一个哈希返回,这样一个似乎可以工作,但在解密时,我总是得到假返回值。 我是否使用了错误的方法对libnaude进行加密/解密,还是完全朝着错误的方向行驶? 我的加密/解密源: 我感谢任何帮助! 多姆
问题内容: 有没有一个很好的示例,说明如何在Android上使用AES 加密和解密图像及其他文件? 问题答案: 并像这样调用它们: 这应该可行,我现在在项目中使用类似的代码。
我正在尝试将我的应用程序从128位AES密钥升级为256位AES。然而,当我将第54行从128更改为256时,我会得到以下密钥大小错误。 java.security.无效密钥异常: 非法的密钥大小 我已正确安装了JCE文件,我的应用程序生成较长的密钥这一事实证明了这一点。 我在其他文章中看到过“AES / CBC / PKCS7Padding”加密方法,但这只会让我遇到这个例外:
null 下面是我当前的代码: 以下是我的结果: 原文: 正如您所看到的,加密中缺少几个字符,这也影响了解密。缺的是2号线的v和3号线的v 你知道为什么吗?
问题内容: 我之所以写这个问题+答案,是因为我挣扎了很多(也许是因为缺乏经验),并迷失了使用node或python进行加密/解密的许多不同方式。 我以为我的案子将来可以帮助人们。 我需要做的是: 从表单获取数据,使用Crypto(node-js)对其进行加密 在Python中传递加密的数据,然后使用PyCrypto将其解密。 我选择使用AES加密。 这是我的开始方式(我不会尝试的所有事情): 我遵
问题内容: 这是我正在做的事情,可能看起来有些笨拙,但是可以帮助您解决该问题。我得到一个。阅读几乎所有相关主题,但找不到合适的解决方案。我是加密解密程序设计的新手,需要在我的Java应用程序之一中实现它。 谢谢..这就是代码的样子.... 问题答案: 在这里,您需要了解的是密文可能包含不可打印的字符。因此,当您使用readLine()时,它可能不会为您提供文件中的所有字节。 同样,它并没有给您您认