क्या नोड.जेड में अंतर्निहित बेस 64 एनकोडिंग अभी तक है?
कारण है कि मैं इस पूछना है कि final()
से crypto
केवल उत्पादन हेक्स, द्विआधारी या ascii डेटा कर सकते हैं। उदाहरण के लिए:
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');
डॉक्स के अनुसार, update()
बेस 64-एन्कोडेड डेटा को आउटपुट कर सकता है। हालाँकि, final()
बेस 64 का समर्थन नहीं करता है। मैंने कोशिश की और यह टूट जाएगा।
अगर मैं ऐसा करता हूं:
var ciph = cipher.update(plaintext, 'utf8', 'base64');
ciph += cipher.final('hex');
फिर डिक्रिप्शन के लिए मुझे क्या उपयोग करना चाहिए? हेक्स या बेस 64?
इसलिए, मैं अपने एन्क्रिप्टेड हेक्स आउटपुट को बेस-एनकोड करने के लिए एक फ़ंक्शन की तलाश कर रहा हूं।
cipher.final('base64')
काम करता है