Teknologi enkripsi biasanya dibagi menjadi dua kategori: "simetris" dan "asimetris".
Enkripsi Simetris:
Ini berarti bahwa enkripsi dan dekripsi menggunakan kunci yang sama, yang biasanya disebut "kunci sesi". Teknologi enkripsi ini banyak digunakan saat ini. Misalnya, standar enkripsi DES yang diadopsi oleh pemerintah AS adalah metode enkripsi "simetris" yang khas, dan panjang kunci sesi adalah 56 bit.
Enkripsi asimetris:
Artinya, enkripsi dan dekripsi penggunaan bukan kunci yang sama, biasanya ada dua kunci, yang disebut "kunci publik" dan "kunci pribadi". Mereka harus digunakan berpasangan, jika tidak, file terenkripsi tidak dapat dibuka.
Enkripsi adalah fungsi yang sering digunakan dalam sistem. Node ini hadir dengan fungsi enkripsi yang kuat crypto. Berikut ini adalah contoh sederhana untuk berlatih.
1. Referensi ke modul enkripsi:
var crypto = membutuhkan ('crypto'); var $ = membutuhkan ('underscore'); var defaults = {encoding: {input: 'utf8', output: 'hex'}, algoritma: ['bf', 'blowfish', 'AES-128-CBC']};Item Konfigurasi Algoritma Enkripsi Default:
Format data input adalah UTF8, format output adalah hex,
Algoritma menggunakan tiga algoritma enkripsi: BF, blowfish, dan AES-128-ABC;
2. Inisialisasi Item Konfigurasi:
function mixcrypto (options) {if (typeof options == 'string') option = {key: options}; options = $ .ExtEnd ({}, default, opsi); this.key = options.key; this.inputEncoding = options.encoding.input; this.outputEncoding = options.encoding.output; this.algorithms = options.algorithms;}Algoritma enkripsi dapat dikonfigurasi, dan algoritma enkripsi dan pengkodean enkripsi yang berbeda dapat digunakan melalui opsi konfigurasi.
3. Kode metode enkripsi adalah sebagai berikut:
Mixcrypto.prototype.encrypt = function (plaintext) {return $ .reduce (this.algorithms, function (memo, a) {var cipher = crypto.createCipher (a, this.outputencoding, cipher.update (memo, this.inputencoding, this.outputencoding); Plaintext, this);};Gunakan crypto untuk mengenkripsi data.
4. Kode metode dekripsi adalah sebagai berikut:
Mixcrypto.prototype.decrypt = function (crypted) {coba {return $ .reduceright (this.algorithms, function (memo, a) {var decipher = crypto.createdecipher (a, this.key); return decipher.update (memo, this.outputencoding, this. decipher.final (this.inputencoding); } catch (e) {return; }};Gunakan crypto untuk mendekripsi data.
Algoritma enkripsi dan dekripsi dieksekusi melalui metode pengurangan dan reduksi di garis bawah.
Artikel ini ditulis berdasarkan algoritma yang ditulis oleh Min Shao. Jika ada kekurangan, tolong maafkan saya. Rookie ada di jalan, terus bergerak maju.
Contoh kode enkripsi nodeJS di atas adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.