1. Pendahuluan
1. Enkripsi AES, dalam kriptografi, juga dikenal sebagai metode enkripsi Rijndael, yang merupakan standar enkripsi blok yang diadopsi oleh pemerintah federal AS. Standar ini digunakan untuk menggantikan DES asli, dan telah dianalisis oleh banyak pihak dan banyak digunakan di seluruh dunia. Standar enkripsi canggih telah menjadi salah satu algoritma paling populer dalam enkripsi kunci simetris.
2. Panjang blok AE ditetapkan hingga 128 bit, dan panjang kunci dapat 128, 192 atau 256 bit; Sementara panjang dan panjang blok yang digunakan oleh Rijndael dapat menjadi kelipatan bilangan bulat dari 32 bit, dengan 128 bit sebagai batas bawah dan 256 bit sebagai batas atas. Termasuk AES-ECB, AES-CBC, AES-CTR, AES-OFB, AES-CFB.
3. Di sini kami hanya menerima metode ECB yang umum digunakan + pkcs7padding (nilai yang sama dengan pkcs5padding) untuk mengisi enkripsi.
2. Aplikasi
1. Menggunakan AE di NodeJs
var crypto = membutuhkan ('crypto'); var aesutil = module.exports = {};/*** enkripsi aes* @param konten yang akan dienkripsi* Kunci @param harus berupa kunci pribadi 32-bit* @returns {string}*/aesutil.encrytion = (data, data, key), key) {iv iv | ""; var clearencoding = 'utf8'; var cipherencoding = 'base64'; var cipherchunks = []; var cipher = crypto.createCipheriv ('aes-256-ecb', kunci, iv); cipher.setautopadding (true); cipherchunks.push (cipher.update (data, clearencoding, cipherencoding)); cipherchunks.push (cipher.final (cipherencoding)); return cipherchunks.join ('');}/*** AES Dekripsi* @param konten data yang akan didekripsi* Kunci @param harus menjadi kunci pribadi 32-bit* @returns {string}*/aesutil.decryption = function (data, kunci, iv) {if (! data) {return "; } IV = IV || ""; var clearencoding = 'utf8'; var cipherencoding = 'base64'; var cipherchunks = []; var decipher = crypto.createdecipheriv ('aes-256-ecb', kunci, iv); decipher.setautopadding (true); cipherchunks.push (decipher.update (data, cipherencoding, clearencoding)); cipherchunks.push (decipher.final (clearencoding)); return cipherchunks.join ('');}2. Menggunakan AES di JavaScript
Unduh Alamat Git Perpustakaan Pihak Ketiga Crypto-Js.js: https://github.com/brix/crypto-js
Memperkenalkan crypto-js.js di bawah src, kode enkripsi adalah sebagai berikut:
var key = "12345678" //The key must be: 8/16/32-bit var message = "123456";//Encrypt var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(key), { mode: CryptoJS.mode.ECB, padding: Cryptojs.pad.pkcs7}); console.log ("value:"+enkripsi); // decrypt var decrypt = cryptojs.aes.decrypt (enkripsi, cryptojs.enc.utf8.parse (key), {mode: cryptojs.mode.ecb, padding: cryding: cry.c cry.poads7 console.log ("nilai:"+decrypt.tostring (cryptojs.enc.utf8));Penulis Asli: Xi'an Wang Lei
Sumber Asli: http://vipstone.cnblogs.com/
Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.