Модуль мультибаза
Multibase основана на кодировке Base1x и предоставляет различные методы кодирования префиксов кодировки.
multibase может кодировать одни и те же данные, используя разные методы кодирования, и добавлять префикс для обозначения метода кодирования. Многобазовая система поддерживает 15 методов кодирования, а именно: base1, base2, base8, base10, base16,base32, base32hex, base32z, base36, base40, base56, base58flickr, base58btc,base64, base64url. Среди них base16,base32иbase64используется сравнительно часто.
Multibase можно использовать для изменения представления двоичных данных, не меняя их. Например, кодирование случайно сгенерированных двоичных данных какbase32Строка вида:
1
2
3
4
5
6
7
8const {
encode
} = require('multibase');
const crypto = require('crypto');
const data = crypto.randomBytes(10); // generate 10 bytes random data
const encodedStr = encode(data, 'base32'); // encode data to base32 string
console.log(encodedStr); // ==> "bpgwnvztqmlbo5fy"
Декодируйте приведенную выше строку в необработанные двоичные данные:
1
2
3
4
5
6const {
decode
} = require('multibase');
const data = decode('bpgwnvztqmlbo5fy', 'base32'); // decode base32 string to data
console.log(data); // ==> <Buffer a7 55 3d 33 ca 97 ac 0d aa 40>
Как видите, с помощью мультибазы мы кодируем исходные двоичные данные какbase32форме строки, и эта строка может быть декодирована в необработанные двоичные данные.
статическая функция
encode
Кодирование данных в многобазовом режиме
1
2static String multibase.encode(Buffer data,
String codec);
Параметры звонка:
- data:Buffer, данные, подлежащие кодированию
- codec: строка, укажите метод кодирования.
Результаты возврата:
- String, возвращает закодированную строку
decode
Декодировать строку в двоичные данные в многобазовом режиме
1static Buffer multibase.decode(String data);
Параметры звонка:
- data: Строка, строка, которую нужно декодировать.
Результаты возврата:
- Buffer, возвращает декодированные двоичные данные