1. Введение
1. Шифрование AES в криптографии также известно как метод шифрования Rijndael, который является стандартом шифрования блока, принятым федеральным правительством США. Этот стандарт используется для замены исходного DES, и был проанализирован несколькими сторонами и широко используется во всем мире. Расширенные стандарты шифрования стали одним из самых популярных алгоритмов в шифровании симметричного ключа.
2. Длина блока AES зафиксирована до 128 бит, а длина ключа может составлять 128, 192 или 256 бит; В то время как ключ и длина блока, используемая Rijndael, может быть целым числом, кратно от 32 бит, с 128 битами в качестве нижнего предела и 256 битов в качестве верхнего предела. Включая AES-ECB, AES-CBC, AES-CTR, AES-OFB, AES-CFB.
3. Здесь мы принимаем только обычно используемый метод ECB + PKCS7Padding (то же значение, что и PKCS5Padding) для заполнения шифрования.
2. Приложение
1. Использование AE в Nodejs
var crypto = require ('crypto'); var aesutil = module.exports = {};/*** aes incryption* @param Содержание данных, чтобы быть зашифрованным* @param Ключ должен быть 32-битным частным ключом* @returns {string}*/aesutil.encryption = function (data, key, iv) {iv = iv = iv = iv = iv = iv = iv | ""; var clearencoding = 'utf8'; var cipherencoding = 'base64'; var cipherchunks = []; var cipher = crypto.createcipheriv ('aes-256-ecb', key, iv); cipher.setautopadding (true); cipherchunks.push (cipher.update (data, clearencoding, cipherencoding)); cipherchunks.push (cipher.final (cipherencoding)); return cipherchunks.join ('');}/*** aes decryption* @param Содержание данных для расшифровки* @param Ключ должен быть 32-разрядный закрытый ключ* @returns {string}*/aesutil.decryption = function (данные, ключ, iv) {if (! data) {return ""; } iv = iv || ""; var clearencoding = 'utf8'; var cipherencoding = 'base64'; var cipherchunks = []; var decipher = crypto.createdecipheriv ('aes-256-ecb', key, iv); decipher.setautopadding (true); cipherchunks.push (decipher.update (данные, циференодирование, очистка)); cipherchunks.push (decipher.final (clearencoding)); return cipherchunks.join ('');}2. Использование AE в JavaScript
Загрузите третью часть библиотеки Crypto-js.js Адрес: https://github.com/brix/crypto-js
Введите Crypt-JS.JS в SRC, код шифрования выглядит следующим образом:
var key = "12345678" // Ключ должен быть: 8/16/32-битный var message = "123456"; // incrypt var incrypt = cryptojs.aes.encrypt (сообщение, cryptojs.enc.utf8.pars Cryptojs.pad.pkcs7}); console.log ("value:"+incrypt); // decrypt var decrypt = cryptojs.aes.decrypt (incrypt, cryptojs.enc.utf8.parse (key), {mode: cryptojs.mode.ecb, padding: cryptojs.pad.pd console.log ("value:"+decrypt.tostring (cryptojs.enc.utf8));Оригинальный автор: Xi'an Wang Lei
Исходный источник: http://vipstone.cnblogs.com/
Выше приведено в этой статье, я надеюсь, что это будет полезно для каждого обучения.