title: Encrypting using Crypto in Node js throw error
body: <p>I am trying to encrypt Credit Card data of customer to AES 256 CBC format but anytime I I call the API I get this error:</p>
  <pre><code>RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: ERR_INVALID_ARG_TYPE
      at ServerResponse.writeHead (_http_server.js:259:11)
      at ServerResponse._implicitHeader (_http_server.js:250:8)
  </code></pre>
  <p>This is my code for the encryption:</p>
  <pre><code>const crypto = require('crypto');
  const encryptionType = 'aes-256-cbc';
  const encryptionEncoding = 'base64';
  const bufferEncryption = 'utf8';
  export class AesEncryption {
     
  
    AesKey: string;
    AesIV: string;
    init() {
      this.AesKey = process.env.SECRET as string;
      this.AesIV = process.env.SECRET?.slice(0, 16) as string;
    } 
  
   
      encrypt(jsonObject: Object): string {
          const val = JSON.stringify(jsonObject);
          const key = Buffer.from(this.AesKey, bufferEncryption);
          const iv = Buffer.from(this.AesIV, bufferEncryption);
          const cipher = crypto.createCipheriv(encryptionType, key, iv);
          let encrypted = cipher.update(val, bufferEncryption, encryptionEncoding);
          encrypted += cipher.final(encryptionEncoding);
          return encrypted;
        }
  
      
  }
  </code></pre>
  <p>This is the code of where I am using it:</p>
  <pre><code>public async createPayment(data: IPaymentDetails): Promise&lt;IPaymentDetails&gt; {
      try {
        PaymentService.checkPaymentRequiredFields(data);
        data.encryptedData = new AesEncryption().encrypt(data.card)
        console.log(data.encryptedData)
       ...
  headers: {
                      'Content-Type': 'application/json',
                      Cookie: 'PHPSESSID=7hnkto3se3mlsbnht755ok2ak6',
                    },
                    data: JSON.stringify({
                      merchantId: data.merchantId,
                      method: 'Card',
                      id: data.trans_id,
                      encryptedData: data.encryptedData,
                    }),
                  })
  </code></pre>
  <p>Anytime I call the API I get the above error.</p>