簡體   English   中英

aes-256-cbc加密和解密

[英]aes-256-cbc encryption and decryption

我正在使用node.js中的crypto npm模塊加密 音頻文件,並嘗試使用相同的算法和密鑰在android端對其進行解密

加密代碼為:

輸入參數

var crypto = require('crypto'),
    algorithm = 'aes-256-cbc',
    password = 'somepassword';  //encyption parameters

加密功能

function encrypt(buffer) {
    var cipher = crypto.createCipher(algorithm, password);
    var crypted = Buffer.concat([cipher.update(buffer), cipher.final()]);
    return crypted;
}

現在,對於解密 ,我們需要使用一些IV( 初始化向量 ),並且研究表明不要對任何兩個文件使用相同的IV

因此,我現在只想知道如何設置自定義IV,以及如何在加密過程中使用crypto或任何其他模塊 node.js中的每個文件生成隨機或單獨的IV

如果有人可以在這方面幫助我,那將是很棒的。

要創建IV,請使用以下命令獲取16個隨機字節:

var iv = crypto.randomBytes(16)

然后,在創建密碼時,更改

var cipher = crypto.createCipher(algorithm, password);

var cipher = crypto.createCipheriv(algorithm, password, iv);

IV不會附加到生成的密文上,因此您需要將其單獨發送到android端(可以以純文本形式發送)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM