1. Introdução
1. A criptografia AES, em criptografia, também é conhecida como Método de Criptografia Rijndael, que é um padrão de criptografia em bloco adotado pelo governo federal dos EUA. Esse padrão é usado para substituir o DES original e foi analisado por várias partes e é amplamente utilizado em todo o mundo. Os padrões avançados de criptografia tornaram -se um dos algoritmos mais populares na criptografia de chave simétrica.
2. O comprimento do bloco do EA é fixado em 128 bits e o comprimento da chave pode ser de 128, 192 ou 256 bits; Enquanto a chave e o comprimento do bloco usados por Rijndael podem ser um múltiplo inteiro de 32 bits, com 128 bits como limite inferior e 256 bits como limite superior. Incluindo AES-ECB, AES-CBC, AES-CTR, AES-O-OFB, AES-CFB.
3. Aqui aceitamos apenas o método do BCE comumente usado + PKCS7Padding (o mesmo valor que PKCS5padding) para preencher a criptografia.
2. Aplicação
1. Usando Aes em Nodejs
var cripto = requer ('cripto'); var aesutil = module.exports = {};/*** aes criptografia* @param conteúdo de dados a ser criptografado* @param chave deve ser uma chave privada de 32 bits* @returs {string}*/aesutil.Envypttion = Dados,, @returns {string}*/aesutil.Envyption = Data,, @returns {string}*/aesutil.Envyption = Data,, @returns {string}*/aesutil.Envyption = Data,, @returns {String}*/aesutil.Envypttion = Dados,, @returns {String}*/aesutil.Ervin. ""; var clearEncoding = 'utf8'; var cipherencoding = 'base64'; var cipherchunks = []; var cipher = cripto.createcipheriv ('aes-256-ecb', chave, iv); cipher.setAUTOPadding (true); cipherchunks.push (cifra.Update (dados, clearEncoding, cipherencoding)); cipherchunks.push (cifra.Final (cipherencoding)); Retornar CipherChunks.join ('');}/*** Aes descriptografia* @Param Data Content a ser descriptografado* @param A chave deve ser uma chave privada de 32 bits* @returns {string}*/aesutil.DecryPtion = function (Data, iv) {se (! Dados) {Data) "; } iv = iv || ""; var clearEncoding = 'utf8'; var cipherencoding = 'base64'; var cipherchunks = []; var decipher = cripto.createCipheriv ('AES-256-ECB', chave, iv); decipher.setAUTOPadding (true); cipherchunks.push (decipher.Update (dados, cipherencoding, clarencoding)); cipherchunks.push (decipher.Final (ClearEncoding)); Retorne cipherchunks.join ('');}2. Usando Aes em JavaScript
Faça o download da biblioteca de terceiros cripto-js.js Git Endereço: https://github.com/brix/crypto-js
Introduce cripto-js.js sob SRC, o código de criptografia é o seguinte:
var key = "12345678" // A chave deve ser: 8/16/32 bits var message = "123456"; // criptografar var criptypt = criptojs.aes.encrypt (mensagem, criptojs.ecb.utf8.parse (key), {Mode: Cryptojs.mode.ecb, sadding, sadding, sadding, sadding, sadding, sadding, sadding, sadding, sadding, sadding, sadding, sadding, sadding: Cryptojs.pad.pkcs7}); console.log ("value:"+criprypt); // descriptografar var decrypt = criptojs.aes.decrypt (Encrypt, Cryptojs.enc.utf8.parse (chave), {mode: cryptojs.mode.Ecb.ctding: chring: chript: jeaD.AtToD7.Encb.Tding: Crys: Cryspho. console.log ("valor:"+descripto.toString (criptojs.enc.utf8));Autor original: Xi'an Wang Lei
Fonte original: http://vipstone.cnblogs.com/
O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.