Javascript Node.js-解密加密字符串数组
几天前,我去了facebook的“安全和登录”页面。我注意到他们存储我们的设备,以便我们可以控制哪些设备正在使用我们的facebook帐户 我想“也许我可以创造这样的东西” 因此,我创建了一个新的Node.js env并开始编码 我的想法是,假设用户在数据库中已经有一些设备,所以我决定对它们进行加密以确保安全 然后,当我请求数据库获取存储的所有用户_设备的数组时,它应该如下所示:Javascript Node.js-解密加密字符串数组,javascript,node.js,Javascript,Node.js,几天前,我去了facebook的“安全和登录”页面。我注意到他们存储我们的设备,以便我们可以控制哪些设备正在使用我们的facebook帐户 我想“也许我可以创造这样的东西” 因此,我创建了一个新的Node.js env并开始编码 我的想法是,假设用户在数据库中已经有一些设备,所以我决定对它们进行加密以确保安全 然后,当我请求数据库获取存储的所有用户_设备的数组时,它应该如下所示: const user_devices = [ "972f2e0f09e944af2a51aae0608
const user_devices = [
"972f2e0f09e944af2a51aae0608af08b",
"1046f21afeda72b832a06dbcb3c713d5",
"98905cfb376ceea05026cca6d46a660e"
];
const user_devices = [
"127.0.0.1",
"127.0.0.2",
"127.0.0.3"
];
然后我想做一个foreach循环来解密它们,使它们看起来像这样:
const user_devices = [
"972f2e0f09e944af2a51aae0608af08b",
"1046f21afeda72b832a06dbcb3c713d5",
"98905cfb376ceea05026cca6d46a660e"
];
const user_devices = [
"127.0.0.1",
"127.0.0.2",
"127.0.0.3"
];
然后我可以使用if语句验证当前尝试访问用户帐户的用户设备是否已保存在user_devices数组中
如果没有,我将获取试图访问该帐户的当前用户设备,并对其进行加密并将其保存到user_devices数组中
我希望你喜欢这个故事,我这样做是为了挑战我自己你需要在加密和解密时使用相同的IV。同时,如果静脉注射总是同一个,那么它是无用的。最佳做法是:
- 每次需要加密新字符串时,创建一个新的IV
- 将IV附加到加密字符串(可能只是连接它们)并存储结果
- 再次分离IV和加密字符串
- 使用刚才分离的密钥和IV解密字符串