Convert C# function into a nodeJS function

471 views Asked by At

I am trying to replicate this C# function into a NodeJS function.

Here is the C# function first.

private byte[] Decrypt(byte[] plainText)
        {
            using (var aes = new AesManaged())
            {
                aes.Mode = CipherMode.ECB;
                aes.Padding = PaddingMode.Zeros;

                var decryptor = aes.CreateDecryptor(Key, Key);
                var decrypted = decryptor.TransformFinalBlock(plainText, 0, plainText.Length);

                return decrypted;
            }
        } 

And here is the NodeJS function that I am trying to convert it to.

var crypto = require("crypto")
require('./config');

function decrypt(key, data) {
        var decipher = crypto.createDecipher('aes-256-ecb', key);
        var decrypted = decipher.update(data, "utf8", "utf8");
        decipher.setAutoPadding(true);
        decrypted += decipher.final('utf8');

        return decrypted;
}

decryptedText = decrypt(process.env.password, process.env.encryptedMessage);
console.log("Decrypted Text: ",  decryptedText);

The NodeJS function is wrong can someone convert the C# function into a NodeJS function as I have limited experience with this as I am a frontend developer.

Currently the output that I am getting is:

Error: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length
    at Error (native)
    at Decipher.Cipher.final (crypto.js:158:26)
    at decrypt (/Users/dave/Tests/sqs-consumer/app3.js:8:31)
0

There are 0 answers