Gunakan membutuhkan ('crypto') untuk memanggil modul enkripsi.
Modul enkripsi membutuhkan dukungan OpenSSL dari sistem yang mendasarinya. Ini menyediakan cara untuk merangkum kredensial keamanan, yang dapat digunakan untuk jaringan aman HTTPS dan koneksi HTTP biasa.
Modul ini juga menyediakan satu set enkapsulasi untuk hash openssl (hash), HMAC (hash kunci), cipher (pengkodean), penguraian (decoding), tanda (tanda), dan verifikasi (verifikasi).
crypto.createCredentials (detail)
Buat objek kredensial dengan detail parameter opsional sebagai kamus dengan nilai kunci:
Kunci: Kunci pribadi yaitu tipe string, PEM-encoded.
CERT: Jenis string, PEM sertifikat otentikasi yang dikodekan.
CA: PEM yang dikodekan sertifikat CA tepercaya dalam bentuk string, atau daftar sertifikat.
Jika tidak ada detail 'CA' yang diberikan, Node.js akan menggunakan daftar tepercaya publik default, yang terletak di http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt.
crypto.createhash (algoritma)
Membuat dan mengembalikan objek hash, yang merupakan hash terenkripsi dari algoritma yang ditentukan, yang digunakan untuk menghasilkan hash Digest.
Algoritma parameter dapat memilih algoritma yang didukung oleh versi OpenSSL yang diinstal pada sistem. Sebagai contoh: 'sha1', 'md5', 'sha256', 'sha512', dll. Dalam rilis terbaru, openssl daftar-pesan-algoritma menampilkan algoritma pencernaan yang tersedia ini.
hash.update (data)
Perbarui konten hash ke data yang ditentukan. Metode ini dapat dipanggil beberapa kali saat menggunakan data streaming.
hash.gigest (encoding = 'biner')
Menghitung ringkasan hash dari semua data yang masuk. Parameter pengkodean dapat menjadi 'hex', 'biner' atau 'base64'.
crypto.createhmac (algoritma, kunci)
Membuat dan mengembalikan objek HMAC, yang merupakan HMAC terenkripsi yang menentukan algoritma dan kunci.
Algoritma parameter dapat dipilih oleh OpenSSL-SEE CreateHash di atas. Kunci parameter adalah kunci yang digunakan oleh HMAC.
hmac.update (data)
Perbarui konten HMAC ke data yang ditentukan. Metode ini dapat dipanggil beberapa kali saat menggunakan data streaming.
hmac.gigest (encoding = 'biner')
Menghitung pencernaan HMAC dari semua data yang masuk. Parameter pengkodean dapat menjadi 'hex', 'biner' atau 'base64'.
crypto.createCipher (algoritma, kunci)
Buat dan kembalikan objek cipher menggunakan algoritma dan kunci yang ditentukan.
Algoritma parameter dapat memilih algoritma yang didukung oleh OpenSSL, seperti 'AES192', dll. Dalam rilis terbaru, OpenSSL List-Cipher-Algorithms menampilkan algoritma enkripsi yang tersedia.
cipher.update (data, input_encoding = 'biner', output_encoding = 'biner')
Gunakan data parameter untuk memperbarui konten yang akan dienkripsi, dan metode pengkodeannya ditentukan oleh parameter input_encoding, yang dapat menjadi 'utf8', 'ASCII' atau 'biner'. Parameter output_encoding menentukan metode pengkodean output dari konten yang dienkripsi, yang dapat menjadi 'biner', 'base64' atau 'hex'.
Mengembalikan konten terenkripsi, yang dapat dipanggil beberapa kali saat menggunakan data streaming.
cipher.final (output_encoding = 'biner')
Mengembalikan semua konten terenkripsi yang tersisa, output_encoding output dikodekan sebagai salah satu dari 'biner', 'ASCII' atau 'UTF8'.
crypto.createdecipher (algoritma, kunci)
Buat dan kembalikan objek yang didekripsi menggunakan algoritma dan kunci yang diberikan. Objek ini adalah operasi terbalik dari objek terenkripsi yang disebutkan di atas.
decipher.update (data, input_encoding = 'biner', output_encoding = 'biner')
Gunakan data parameter untuk memperbarui konten yang akan didekripsi, dan pengkodeannya adalah 'biner', 'base64' atau 'hex'. Parameter output_encoding menentukan metode pengkodean output dari konten plaintext yang didekripsi, yang dapat menjadi 'biner', 'ASCII' atau 'UTF8'.
decipher.final (output_encoding = 'biner')
Mengembalikan semua plaintext yang didekripsi, yang output_encoding 'adalah salah satu dari' biner ',' ASCII 'atau' utf8'`.
crypto.createsign (algoritma)
Buat dan kembalikan objek tanda tangan menggunakan algoritma yang diberikan. Dalam distribusi OpenSSL yang ada, OpenSSL List-Public-Key-Algorithms menampilkan algoritma tanda tangan yang tersedia, seperti: 'RSA-SHA256'.
Signer.update (data)
Perbarui objek tanda tangan dengan parameter data. Metode ini dapat dipanggil beberapa kali saat menggunakan data streaming.
Signer.sign (private_key, output_format = 'biner')
Hitung tanda tangannya untuk semua data yang diteruskan ke tanda tangan. Private_key adalah string yang berisi kunci pribadi yang dikodekan PEM untuk tanda tangan.
Mengembalikan tanda tangan, yang output_format outputnya bisa 'biner', 'hex' atau 'base64'.
crypto.createvery (algoritma)
Buat dan kembalikan objek validator menggunakan algoritma yang diberikan. Ini adalah operasi terbalik dari objek tanda tangan di atas.
verifier.update (data)
Perbarui objek validator dengan parameter data. Metode ini dapat dipanggil beberapa kali saat menggunakan data streaming.
verifikasi.verify (sertifikat, tanda tangan, Signature_format = 'biner')
Gunakan sertifikat parameter dan tanda tangan untuk memverifikasi data yang ditandatangani. Cert adalah string kunci publik yang dikodekan PEM, tanda tangan adalah tanda tangan dari data yang sebelumnya dihitung, dan Signature_Format dapat menjadi 'biner', 'hex' atau 'base64'.
Kembalikan Benar atau Salah sesuai dengan hasil verifikasi validitas tanda tangan dari data dan kunci publik.
Cara menulis kode enkripsi yang tidak dapat diubah saat Anda membutuhkan
Salinan kode adalah sebagai berikut:
var text = "123 | 1231231212312312123123121231231231212312312312312312312312312312312312312312312312312312312312312312312312312312312
var hasher = crypto.createhash ("md5");
hasher.update (teks);
var hashmsg = hasher.gigest ('hex'); // hashmsg adalah data terenkripsi
Saat Anda membutuhkan lingkungan terenkripsi dan didekripsi
Salinan kode adalah sebagai berikut:
var key = "asdhjwhereu*asd123-123"; // kunci rahasia terenkripsi
var text = "123 | 1231231212312312123123121231231231212312312312312312312312312312312312312312312312312312312312312312312312312312312
var crypted = cipher.update (teks, 'utf8', 'hex');
crypted+= cipher.final ('hex');
var pesan = crypted; // nilai setelah enkripsi
var decipher = crypto.createdecipher ('aes-256-cbc', key);
var dec = decipher.update (pesan, 'hex', 'utf8');
dec+= decipher.final ('utf8'); // Nilai setelah dekripsi
PS: Mengenai teknologi enkripsi, situs ini juga menyediakan alat enkripsi berikut untuk referensi Anda:
Alat Enkripsi Online MD5: http://tools.vevb.com/password/createMd5password
Escape Encryption/Decryption Tool: http://tools.vevb.com/password/escapepwd
Alat Enkripsi SHA1 Online: http://tools.vevb.com/password/sha1encode
Tautan Pendek (URL Pendek) Alat pembuatan online: http://tools.vevb.com/password/dwzcreate
Tautan Pendek (URL Pendek) Alat Pemulihan Online: http://tools.vevb.com/password/unshorturl
Generator Kata Sandi Kekuatan Tinggi: http://tools.vevb.com/password/createStrongPassword