[英]Node.js - Decrypt an array of encrypted strings
几天前,我去了facebook的“安全和登录”页面。 我注意到他们存储了我们的设备,以便我们可以控制哪些设备正在使用我们的 Facebook 帐户。
我想“也许我可以创造这样的东西”。
所以我创建了一个新的 Node.js 环境并开始编码。
我的想法是,假设用户已经在数据库上有一些设备,所以我决定对它们进行加密以更安全。
然后,当我向数据库发出请求以获取存储的所有 user_devices 的数组时,它应该如下所示:
const user_devices = [
"972f2e0f09e944af2a51aae0608af08b",
"1046f21afeda72b832a06dbcb3c713d5",
"98905cfb376ceea05026cca6d46a660e"
];
然后我想做一个 foreach 循环来解密所有它们,使它们看起来像这样:
const user_devices = [
"127.0.0.1",
"127.0.0.2",
"127.0.0.3"
];
然后我可以使用 if 语句来验证当前尝试访问用户帐户的用户设备是否已保存在 user_devices 数组中。
如果没有,我将获取尝试访问该帐户的当前用户设备,然后对其进行加密并将其保存到 user_devices 数组中。
我希望你喜欢这个故事,我这样做是为了挑战自己😅。
但我收到了这个错误:
internal/crypto/cipher.js:164
const ret = this._handle.final();
而且我现在不知道该怎么办😩。
这是代码: https : //codesandbox.io/s/facebook-security-login-clone-s0y71?file=/src/index.js : 148-286
加密和解密时需要使用相同的IV。 同时,如果 IV 始终相同,则它毫无用处。 最佳做法是:
当您需要解密时:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.