crypto — Криптографія

Функції для шифрування, хешування та обчислення контрольних сум.

Приклад:

 1// AES шифрування/дешифрування
 2let key = "0123456789abcdef"; // 16 байтів для AES-128
 3let encrypted = crypto.encrypt("Hello, world!", key);
 4let decrypted = crypto.decrypt(encrypted, key);
 5console.print(decrypted); // "Hello, world!"
 6
 7// MD5 хеш
 8let hash = crypto.md5("test");
 9console.print(hash);
10
11// CRC32
12let crc = crypto.crc32("test data");
13console.print(crc);

Функції

crypto.encrypt(plaintext, key)

Шифрує текст алгоритмом AES-CBC з PKCS7-доповненням та випадковим IV.

Arguments:
  • plaintext (string()) – Текст для шифрування.

  • key (string()) – Ключ шифрування (16, 24 або 32 байти для AES-128/192/256).

Повертає:

Зашифрований текст у hex-форматі (IV + шифротекст) або undefined при помилці.

Тип повернення:

string

crypto.decrypt(hex_string, key)

Розшифровує текст, зашифрований crypto.encrypt().

Arguments:
  • hex_string (string()) – Зашифрований текст у hex-форматі.

  • key (string()) – Ключ шифрування (16, 24 або 32 байти).

Повертає:

Розшифрований текст або undefined при помилці.

Тип повернення:

string

crypto.md5(data)

Обчислює MD5-хеш рядка.

Arguments:
  • data (string()) – Вхідні дані.

Повертає:

MD5-хеш у hex-форматі (32 символи).

Тип повернення:

string

crypto.crc32(data)

Обчислює контрольну суму CRC32.

Arguments:
  • data (string()) – Вхідні дані.

Повертає:

CRC32 значення.

Тип повернення:

number