Технология шифрования обычно делится на две категории: «симметричный» и «асимметричный».
Симметричное шифрование:
Это означает, что шифрование и дешифрование используют тот же ключ, который обычно называют «сеанс». Эта технология шифрования широко используется сегодня. Например, стандарт шифрования DES, принятый правительством США, представляет собой типичный «симметричный» метод шифрования, а длина ключа его сеанса составляет 56 бит.
Асимметричное шифрование:
То есть, шифрование и дешифрование используют не один и тот же ключ, обычно есть два ключа, называемые «открытым ключом» и «закрытый ключ». Они должны использоваться парами, в противном случае зашифрованный файл не может быть открыт.
Шифрование является часто используемой функцией в системе. Узел поставляется с мощной криптографией функции шифрования. Ниже приведен простой пример для практики.
1. Ссылки на модуль шифрования:
var crypto = require ('crypto'); var $ = require ('Underscore'); var defaults = {encoding: {input: 'utf8', output: 'hex'}, алгоритмы: ['bf', 'whouthfish', 'aes-128-cbc']};По умолчанию элементы конфигурации шифрования по умолчанию:
Формат входных данных - UTF8, выходной формат - шестнадцатеричный
Алгоритм использует три алгоритма шифрования: BF, Blowfish и AES-128-ABC;
2. Инициализация элемента конфигурации:
Функция MixCrypto (Options) {if (typeOf options == 'string') options = {key: options}; options = $. this.key = options.key; this.inputencoding = options.encoding.input; this.outputencoding = options.encoding.output; this.algorithms = options.algorithms;}Алгоритм шифрования может быть настроен, и различные алгоритмы и кодировки шифрования могут использоваться с помощью параметров конфигурации.
3. Код метода шифрования выглядит следующим образом:
Mixcrypto.prototype.encrypt = function (plantext) {return $ .reduce (this.algorithms, function (memo, a) {var cipher = crypto.createcipher (a, this.key); return cipher.update (memo, this.inputencing, это. этот);};Используйте крипто для шифрования данных.
4. Код метода расшифровки выглядит следующим образом:
Mixcrypto.prototype.decrypt = function (crypted) {try {return $ .reduceright (this.algorithms, function (memo, a) {var decipher = crypto.createdecipher (a, this.key); return decipher. decipher.final (this.inputEncoding); } catch (e) {return; }};Используйте крипто для расшифровки данных.
Алгоритм шифрования и дешифрования выполняется с помощью методов уменьшения и уменьшения в подчеркивании.
Эта статья написана на основе алгоритма, написанного Мин Шао. Если есть какие -либо недостатки, пожалуйста, простите меня. Новичок в дороге, продолжайте двигаться вперед.
Приведенный выше пример Code of Nodejs Crypto Crypto - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.