Я пытаюсь зашифровать и, соответственно, расшифровать строку.
Когда я с указанием схемы кодирования, как 'UTF-8', я получаю результаты, как и ожидалось:Шифрование и дешифрование в Node.js
function encrypt(text) {
var cipher = crypto.createCipher(algorithm, password)
var crypted = cipher.update(text, 'utf8', 'hex')
crypted += cipher.final('hex');
return crypted;
}
function decrypt(text) {
var decipher = crypto.createDecipher(algorithm, password)
var dec = decipher.update(text, 'hex', 'utf8')
dec += decipher.final('utf8');
return dec;
}
//text = 'The big brown fox jumps over the lazy dog.'
Выход: (UTF-8 кодирование)
Но когда я пытаюсь сделать это с 'base-64», его дает мне неожиданные результаты:
function encrypt(text) {
var cipher = crypto.createCipher(algorithm, password)
var crypted = cipher.update(text, 'base64', 'hex')
crypted += cipher.final('hex');
return crypted;
}
function decrypt(text) {
var decipher = crypto.createDecipher(algorithm, password)
var dec = decipher.update(text, 'hex', 'base64')
dec += decipher.final('base64');
return dec;
}
Выход: (база-64 кодирования)
Я не могу понять, почему схема базового 64 кодирования не принимает пробелы и '.' в правильном формате.
Если кто-то знает это, пожалуйста, помогите мне в получении лучшего понимания для этого. Любая помощь приветствуется.
Thankx много @ralh Это помогло мне лучше понять кодировку base64 и все такое. :) –