在 npm mongoose-encryption 模块中使用 var secret
Use of var secret in npm mongoose-encryption module
var secret = process.env.SOME_LONG_UNGUESSABLE_STRING;
userSchema.plugin(encrypt, { secret: secret });
使用 npm mongoose-encryption
模块作为密码 encryption
,但我不明白为什么要使用该变量 secret
。该变量的作用是什么?
正如 kedar sedai 在他的 中所说,process.env.SOME_LONG_UNGUESSABLE_STRING
是存储在 .env
文件 或 中的密钥 OS' 环境变量。
这个秘密将按照 AES-256-CBC 的规定使用(加密方法 mongoose-encryption
implements);这意味着您的 SOME_LONG_UNGUESSABLE_STRING
将用作密码方法的一部分,将您的字符串同时用作加密密钥和解密密钥(因此您可以将 AES 称为 对称算法 ).
因此,如果您更改此字符串,则之前加密的任何内容都将无法再解密,除非您使用完全相同的秘密。
简而言之,“秘密”变量几乎可以确保您的加密安全,这也是它应该不可猜测的原因。您可以阅读有关此方法的更多信息 here.
var secret = process.env.SOME_LONG_UNGUESSABLE_STRING;
userSchema.plugin(encrypt, { secret: secret });
使用 npm mongoose-encryption
模块作为密码 encryption
,但我不明白为什么要使用该变量 secret
。该变量的作用是什么?
正如 kedar sedai 在他的 process.env.SOME_LONG_UNGUESSABLE_STRING
是存储在 .env
文件 或 中的密钥 OS' 环境变量。
这个秘密将按照 AES-256-CBC 的规定使用(加密方法 mongoose-encryption
implements);这意味着您的 SOME_LONG_UNGUESSABLE_STRING
将用作密码方法的一部分,将您的字符串同时用作加密密钥和解密密钥(因此您可以将 AES 称为 对称算法 ).
因此,如果您更改此字符串,则之前加密的任何内容都将无法再解密,除非您使用完全相同的秘密。
简而言之,“秘密”变量几乎可以确保您的加密安全,这也是它应该不可猜测的原因。您可以阅读有关此方法的更多信息 here.