Apakah node.js memiliki pengkodean base64 bawaan?
Alasan mengapa saya menanyakan hal ini adalah bahwa final()
dari crypto
hanya dapat menampilkan data hex, binary atau ascii. Sebagai contoh:
var cipher = crypto.createCipheriv('des-ede3-cbc', encryption_key, iv);
var ciph = cipher.update(plaintext, 'utf8', 'hex');
ciph += cipher.final('hex');
var decipher = crypto.createDecipheriv('des-ede3-cbc', encryption_key, iv);
var txt = decipher.update(ciph, 'hex', 'utf8');
txt += decipher.final('utf8');
Menurut dokumen, update()
dapat menampilkan data yang disandikan base64. Namun, final()
tidak mendukung base64. Saya mencoba dan itu akan pecah.
Jika saya melakukan ini:
var ciph = cipher.update(plaintext, 'utf8', 'base64');
ciph += cipher.final('hex');
Lalu apa yang harus saya gunakan untuk dekripsi? Hex atau base64?
Oleh karena itu, saya mencari fungsi untuk meng-encode output hex terenkripsi base64 saya.
cipher.final('base64')
bekerja