javascript - 在 Node.js 中返回多个参数

标签 javascript node.js encryption

假设我们在 Node.js 中有一个函数,返回两个参数的正确方法是什么?

例如,我有一个像上面的代码一样返回加密消息的函数,我也想返回它会被复制的 Hmac 散列。我可以从一个函数返回两个值吗?

const crypto = require('crypto');
exports.AesEncryption = function(Plaintext, SecurePassword) {
    var cipher = crypto.createCipher('aes-128-ecb', SecurePassword);
    var encrypted = cipher.update(Plaintext, 'utf-8', 'base64');
    encrypted += cipher.final('base64');
    return encrypted;
};

最佳答案

您可以只使用数组返回两个值:

const crypto = require('crypto');
exports.AesEncryption = function(Plaintext, SecurePassword) {
    var cipher = crypto.createCipher('aes-128-ecb', SecurePassword);
    var encrypted = cipher.update(Plaintext, 'utf-8', 'base64');
    encrypted += cipher.final('base64');
    return [encrypted, cipher];
};

或者一个对象(首选):

const crypto = require('crypto');
exports.AesEncryption = function(Plaintext, SecurePassword) {
    var cipher = crypto.createCipher('aes-128-ecb', SecurePassword);
    var encrypted = cipher.update(Plaintext, 'utf-8', 'base64');
    encrypted += cipher.final('base64');
    return {encrypted: encrypted, cipher: cipher};
};

关于javascript - 在 Node.js 中返回多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36293491/

相关文章:

javascript - jquery 禁用/删除选择选项?

javascript - 在查询字符串处传递 '+'

node.js - 使用 ascii 编码读取文件

java.security.NoSuchAlgorithmException : Provider SunJCE does not provide DES/ECB/NoPadding

android - BitmapFactory 无法对 CipherInputStream 解码两次

php中的两种加密算法如何使加密数据比输入数据短?

javascript - 使用 jQuery 获取 ID 并将它们放入 Anker 导航中

javascript - 使用 EventBus 向另一个组件发送数据并在组件中使用发送的数据

Node.js、multer、express、sequelize、Postgres

javascript - 打包的 AWS Lambda 函数中的 "required is not defined"