Используйте require ('crypto'), чтобы вызвать модуль шифрования.
Модуль шифрования требует поддержки OpenSSL из базовой системы. Он предоставляет способ инкапсулировать учетные данные безопасности, которые могут использоваться для безопасных сетей HTTPS и обычных HTTP -подключений.
Модуль также предоставляет набор инкапсуляций для HASH (HASH), HMAC (HASH), шифра (кодирования), расшифровки (декодирования), знака (знак) и проверки (проверка).
crypto.createcredentials (детали)
Создайте объект учетных данных с дополнительными деталями параметров в качестве словаря со значениями ключей:
Ключ: закрытый ключ, который является строковым типом, кодируется PEM.
CERT: тип строки, кодированный сертификат аутентификации PEM.
CA: кодированный доверенный сертификат CA PEM в строковой форме или список сертификатов.
Если не указано подробности о «CA», node.js будет использовать общедоступный доверенный список по умолчанию, который находится по адресу http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt.
crypto.createhash (алгоритм)
Создает и возвращает хэш -объект, который представляет собой зашифрованный хэш указанного алгоритма, используемый для генерации хэш -дайджеста.
Алгоритм параметров может выбрать алгоритм, поддерживаемый версией OpenSSL, установленной в системе. Например: «SHA1», «MD5», «SHA256», «SHA512» и т. Д. В недавних выпусках OpenSSL List-Message-Digest-Algorithms отображает эти доступные алгоритмы дигеста.
hash.update (данные)
Обновите содержание хэша для указанных данных. Этот метод может быть вызван несколько раз при использовании потоковых данных.
hash.digest (кодирование = 'бинарное')
Вычисляет хеш -сводку всех входящих данных. Параметром кодирования может быть «шестнадцатеричный», «двоичный» или «base64».
crypto.createhmac (алгоритм, ключ)
Создает и возвращает объект HMAC, который представляет собой зашифрованный HMAC, который указывает алгоритм и ключ.
Алгоритм параметров может быть выбран с помощью OpenSSL-See CreateHash выше. Ключ для параметра - это ключ, используемый HMAC.
hmac.update (данные)
Обновите контент HMAC для указанных данных. Этот метод может быть вызван несколько раз при использовании потоковых данных.
hmac.digest (кодирование = 'бинарное')
Вычисляет HMAC Digest всех входящих данных. Параметром кодирования может быть «шестнадцатеричный», «двоичный» или «base64».
crypto.createcipher (алгоритм, ключ)
Создайте и верните объект шифра, используя указанный алгоритм и ключ.
Алгоритм параметров может выбрать алгоритмы, поддерживаемые OpenSSL, такие как «AES192» и т. Д. В недавних выпусках OpenSSL-списка-кореш-альгоритмы отображают доступные алгоритмы шифрования.
cipher.update (data, input_encoding = 'Binary', output_encoding = 'Binary')
Используйте данные параметра для обновления содержимого для зашифрованного, и его метод кодирования определяется с помощью параметра input_encoding, который может быть «utf8», «ascii» или «двоичный». Параметр output_encoding указывает метод кодирования выходного кодирования зашифрованного контента, который может быть «двоичным», «base64» или «hex».
Возвращает зашифрованное контент, который можно вызывать несколько раз при использовании потоковых данных.
cipher.final (output_encoding = 'Binary')
Возвращает все оставшееся зашифрованное контент, выход output_encoding кодируется как один из «двоичных», «ascii» или «utf8».
crypto.createdecipher (алгоритм, ключ)
Создайте и верните расшифрованный объект, используя заданный алгоритм и ключ. Этот объект является обратной работой вышеупомянутого зашифрованного объекта.
decipher.update (data, input_encoding = 'Binary', output_encoding = 'Binary')
Используйте данные параметров, чтобы обновить контент, который будет расшифрован, а его кодирование - «двоичный», «base64» или «hex». Параметр output_encoding указывает метод кодирования выходного данных расширенного содержания открытого текста, который может быть «двоичным», «ASCII» или «UTF8».
decipher.final (output_encoding = 'Binary')
Возвращает все оставшиеся расшифрованные простые.
crypto.createSign (алгоритм)
Создать и вернуть подпись объект, используя заданный алгоритм. В существующих распределениях OpenSSL, OpenSSL List-Public-Key-Algorithms отображает доступные алгоритмы подписи, такие как: 'RSA-SHA256'.
signer.update (data)
Обновите объект подписи с помощью параметра данных. Этот метод может быть вызван несколько раз при использовании потоковых данных.
signer.sign (private_key, output_format = 'Binary')
Рассчитайте его подпись для всех данных, передаваемых подписи. private_key-это строка, которая содержит кодируемый PEM закрытый ключ для подписи.
Возвращает подпись, выход output_format может быть «двоичным», «шестнадцатеричным» или «base64».
crypto.createverify (алгоритм)
Создать и вернуть объект валидатора, используя заданный алгоритм. Это обратная работа вышеуказанного объекта подписи.
verifier.update (данные)
Обновите объект Validator с помощью параметра данных. Этот метод может быть вызван несколько раз при использовании потоковых данных.
Verify.Verify (cert, Signature, Signature_format = 'Binary')
Используйте сертификацию параметров и подпись для проверки подписанных данных. CERT-это подпись, кодируемая PEM, подпись-это подпись ранее рассчитанных данных, а Signature_format может быть «двоичным», HEX 'или «Base64».
Вернуть истину или ложь в соответствии с результатами проверки достоверности подписи данных и открытого ключа.
Как написать необратимый код шифрования, когда вам нужно
Кода -копия выглядит следующим образом:
VAR Text = "123 | 123123121231231212312312123123123121231231231231212312312312312312123123131231231231212312312312312312123121231231231231231231231231231231231231231231231231312312312312312312312
var hasher = crypto.createhash ("md5");
hasher.update (текст);
var hashmsg = hasher.digest ('hex'); // hashmsg - зашифрованные данные
Когда вам нужна зашифрованная и расшифрованная среда
Кода -копия выглядит следующим образом:
var key = "asdhjwheru*asd123-123"; // зашифрованный секретный ключ
VAR Text = "123 | 123123121231231212312312123123123121231231231231212312312312312312123123131231231231212312312312312312123121231231231231231231231231231231231231231231231231312312312312312312312
var crypted = cipher.update (text, 'utf8', 'hex');
Крепкий+= cipher.final ('hex');
var message = crypted; // значение после шифрования
var decipher = crypto.createdecipher ('aes-256-cbc', key);
var dec = decipher.update (сообщение, "hex ',' utf8 ');
dec+= decipher.final ('utf8'); // Значение после расшифровки
PS: Что касается технологии шифрования, этот сайт также предоставляет следующие инструменты шифрования для вашей ссылки:
Инструмент онлайн -шифрования MD5: http://tools.vevb.com/password/createmd5password
Инструмент Escape Encry Encryption/Decryption: http://tools.vevb.com/password/escapepwd
Инструмент шифрования SHA1 онлайн: http://tools.vevb.com/password/sha1encode
Короткая ссылка (короткий URL) Инструмент онлайн -генерации: http://tools.vevb.com/password/dwzcreate
Короткая ссылка (короткий URL) Инструмент восстановления онлайн: http://tools.vevb.com/password/unshorturl
Генератор с высокой силой паролей: http://tools.vevb.com/password/createstrongpassword