1. Einführung
1. AES -Verschlüsselung in der Kryptographie ist auch als Rijndael -Verschlüsselungsmethode bekannt, die von der US -Bundesregierung ein Blockverschlüsselungsstandard ist. Dieser Standard wird verwendet, um die ursprüngliche DES zu ersetzen, und wurde von mehreren Parteien analysiert und wird weltweit weit verbreitet. Fortgeschrittene Verschlüsselungsstandards sind zu einem der beliebtesten Algorithmen bei der symmetrischen Schlüsselverschlüsselung geworden.
2. Die Blocklänge der AEs ist auf 128 Bit festgelegt, und die Schlüssellänge kann 128, 192 oder 256 Bit betragen; Während die von Rijndael verwendete Schlüssel- und Blocklänge ein ganzzahliges Vielfachen von 32 Bit sein kann, mit 128 Bit als Untergrenze und 256 Bit als Obergrenze. Einschließlich AES-ECB, AES-CBC, AES-CTR, AES-OFB, AES-CFB.
3. Hier akzeptieren wir nur die häufig verwendete ECB -Methode + PKCS7Padding (der gleiche Wert wie PKCS5Padding), um die Verschlüsselung zu füllen.
2. Anwendung
1. AES in NodeJs verwenden
var crypto = required ('crypto'); var aesutil = module.exports = {};/*** aes Verschlüsselung* @param dateninhalte, die verschlüsselt werden sollen ""; var clearencoding = 'utf8'; var cipherencoding = 'base64'; var cipherchwers = []; var cipher = crypto.createcipheriv ('AES-256-ECB', Key, IV); cipher.setAutopadding (true); Cipherchwers.push (Cipher.Update (Daten, ClearEncoding, Cipherencoding)); cipherchwers.push (cipher.final (cipherencoding)); return cipherchunks.join ('');}/*** aes decryption* @param dateninhalte, die entschlüsselt werden sollen } iv = iv || ""; var clearencoding = 'utf8'; var cipherencoding = 'base64'; var cipherchwers = []; var decipher = crypto.CreateCipheriv ('AES-256-ECB', Key, IV); decipher.setAutopadding (true); cipherchwers.push (decipher.update (Daten, Verschlüsseln, ClearEncodierung)); cipherchwers.push (decipher.final (clearencoding)); cipherchwers zurückgeben.join ('');}2. AES in JavaScript verwenden
Laden Sie die Drittanbieter-Bibliothek Crypto-js.js Git-Adresse herunter: https://github.com/brix/crypto-js
Führen Sie Krypto-js.js unter SRC ein, der Verschlüsselungscode lautet wie folgt:
var key = "12345678" // Der Schlüssel muss sein: 8/16/32-Bit var message = "123456"; // Encrypt var encrypt = cryptojs.aes.encrypt (message, cryptojs.enc.utf8.Parse (Schlüssel), {modse: cryptojs.mods.cb, padding, padding, padding: padding: Cryptojs.pad.pkcs7}); console.log ("value:"+Encrypt); // decrypt var decrypt = cryptojs.aes.decrypt (Encrypt, cryptojs.enc.utf8.parse (taste), {Modus: Cryptojs.mode. console.log ("value:"+decrypt.toString (cryptojs.enc.utf8));Originalautor: Xi'an Wang Lei
Originalquelle: http://vipstone.cnblogs.com/
Das Obige dreht sich alles um diesen Artikel, ich hoffe, es wird für das Lernen aller hilfreich sein.