Baiklah.
Jadi kami telah melihat enkripsi level 1 yang pada dasarnya hanya menyimpan kata sandi sebagai teks biasa di basis
data kami.
Jadi mungkin akan sedikit sulit bagi orang untuk mendapatkan akses ke server kami dan mengakses database kami.
Paling tidak Anda tidak bisa begitu saja klik kanan pada situs Web untuk melihat sumber halaman dan dapat melihatnya di HD di
sini.
Yah setidaknya disimpan di tingkat server tapi itu tidak cukup bagus.
Jadi mari kita lanjutkan dan lihat apa yang bisa kita lakukan untuk meningkatkan keamanan bagi pengguna kita di situs Web kita.
Jadi mari kita tingkatkan ke otentikasi level 2 dan otentikasi level dua melibatkan penggunaan enkripsi.
Jadi apa sebenarnya enkripsi itu.
Yah pada dasarnya semua itu hanya mengacak-acak sesuatu sehingga orang tidak bisa tahu apa yang asli
kecuali mereka berada di rahasia dan mereka tahu bagaimana menguraikannya.
Ini persis sama seperti jika Anda dan teman Anda saling mengirim pesan rahasia dan Anda
memiliki kunci untuk menyandikan pesan yang Anda berdua tahu.
Sehingga Anda bisa memecahkan kode pesan.
Sekarang dalam skala yang lebih besar jika Anda pernah menonton The Imitation Game atau membaca tentang mesin Enigma.
Nah itu pada dasarnya adalah bentuk enkripsi.
Dan mesin Enigma jika Anda tidak tahu hanyalah sebuah mesin yang digunakan selama Perang Dunia 2 ketika
Jerman akan saling mengirim pesan, mereka akan menggunakan mesin untuk mengenkripsi pesan-pesan itu sehingga ketika
pesan-pesan itu dicegat, katakan melalui radio. kecuali Anda memiliki mesin Enigma yang sama dan Anda tahu apa Kunci
Penguraiannya atau apa pengaturannya untuk mesin tersebut, maka Anda tidak akan dapat mengatakan apa yang sedang
mereka coba komunikasikan satu sama lain.
Jika Anda tertarik, saya sangat merekomendasikan menonton dua video yang dilakukan oleh tidak ada file di YouTube dan
saya telah menautkannya dalam daftar sumber daya kursus tetapi menjelaskan mesin Enigma.
Dan itu berbicara tentang cacat pada mesin Enigma yang membuat Alan Turing dan orang-orang
lain di Bletchley Park dapat memecahkan kode dan menciptakan komputer yang sangat khusus untuk dapat memecahkan kode
pesan-pesan itu dan membantu Sekutu memenangkan perang.
Dan jika Anda pernah mengunjungi London.
Pastikan untuk pergi dan melihat Bletchley Park dan mereka memiliki museum komputer di
sebelahnya yang sangat menarik.
Bagaimanapun saya ngelantur.
Jadi kembali ke cipher dan enkripsi, salah satu cara paling awal untuk mengenkripsi pesan yang
kita ketahui adalah cipher Caesar.
Dan ini datang dari Julius Caesar yang merupakan salah satu jenderal di Kekaisaran Romawi dan apa yang dia
lakukan adalah dia akan mengirim pesan ke jendralanya dan dia akan mengenkripsi.
Jadi jika utusannya terbunuh di sepanjang jalan maka pesannya akan dirahasiakan.
Dan ini adalah salah satu bentuk enkripsi paling sederhana yang kita ketahui.
Dan itu sangat sederhana.
Katakanlah kita memiliki abjad yang benar.
ABC TFG semua di Cipher Caesar melakukan itu cipher substitusi surat.
Dan kunci untuk sandi adalah jumlah huruf yang akan Anda geser.
Jadi, jika Anda tahu apa pola pergeseran itu maka Anda bisa dengan cepat menguraikan pesannya.
Jadi jika kita mengenkripsi kata halo ada alat online yang sangat rapi yang dapat membantu kita melakukannya.
Ini disebut cryptic dot com dan punya dua mata di akhir dan pada dasarnya Anda dapat
memilih jenis sandi atau enkripsi yang ingin Anda gunakan dan kemudian Anda dapat menentukan perubahan dan kita akan
melihat pergeseran tiga katakanlah.
Jadi, jika teks saya adalah halo, maka teks tersebut menjadi bergeser menjadi inti dan menjadi orang yang tidak tahu dan non-kriptografi,
bisa sangat sulit untuk melihat secara sekilas apa yang sebenarnya ingin dikatakan.
Sekarang di zaman modern dan dengan kriptografi modern ini terlalu sederhana dan sangat mudah
retak.
Tapi ada bentuk enkripsi lain yang sedikit lebih rumit dan melibatkan lebih banyak
matematika untuk membuatnya lebih memakan waktu bagi seseorang untuk memecahkan.
Tetapi pada dasarnya semua enkripsi bekerja dengan cara yang persis sama.
Anda memiliki cara untuk mengacak pesan Anda dan itu membutuhkan kunci untuk dapat menguraikan pesan itu.
Baiklah.
Jadi sekarang kita telah mempelajari semua tentang enkripsi saatnya untuk melanjutkan dan menerapkannya sehingga kita
dapat mengenkripsi kata sandi pengguna kami di database kami dan menjaganya tetap aman.
Jadi paket NPM yang akan kita gunakan adalah sesuatu yang disebut enkripsi dasbor Mongoose.
Dan jika Anda melihat pada dokumentasi itu pada dasarnya paket enkripsi yang sangat sederhana yang bekerja
dengan luwak.
Jadi itu sempurna untuk kita.
Jadi ia menggunakan algoritma enkripsi yang disebut ya yang merupakan algoritma enkripsi yang relatif modern.
Dan itu jauh lebih aman daripada sesuatu seperti sandi Caesar yang sangat mudah untuk dipatahkan.
Sekarang sebelum kita mulai, saya sarankan Anda membaca dokumentasi di sini.
Paket ini melakukan dua hal.
Itu bisa mengenkripsi dan bisa mengotentikasi.
Kami hanya akan menggunakan fungsionalitas paling dasar yaitu enkripsi dan kami akan
meninggalkan otentikasi untuk pelajaran selanjutnya.
Ketika kita membahas hal-hal seperti algoritma hashing.
Jadi seperti biasa untuk memulai, kita akan terus maju dan menginstal paket itu ke dalam proyek kita.
Baiklah.
Jadi hal pertama yang pertama mari kita berhenti juga dari menjalankan dan mari kita pergi ke depan dan menginstal enkripsi Mongoose.
Mari kita pastikan bahwa kita tidak memiliki salah ketik apa pun dalam nama itu.
Ayo tekan enter.
Jadi, sementara NPM menginstal paket itu, kami dapat melanjutkan dan mensyaratkannya di aplikasi kami yang G. S ..
Jadi saya akan memanggil enkripsi ini dan kita akan mengaturnya sama membutuhkan enkripsi dasbor Mongoose baik-baik saja.
Jadi sekarang kita memiliki paket yang diperlukan dan diinstal kita akan terus maju dan menggunakannya.
Dan tentu saja untuk mengetahui bagaimana kita melakukannya.
Kami pergi ke dokumentasi sehingga secara singkat menjelaskan cara kerja enkripsi sebenarnya.
Dan kemudian ia memberi tahu Anda bagaimana memulai.
Jadi kita punya langkah instalasi yang sudah kita lakukan.
Jadi sekarang kita ke langkah penggunaan.
Jadi pertama-tama kita harus memerlukan mongers dan memerlukan monger dan enkripsi
dan kemudian kita harus mengubah skema Mongo kita sedikit karena perhatikan bahwa dalam skema Mongoose mereka
sebenarnya membuat skema Mongoose baru sedangkan kita hanyalah objek javascript yang sangat sederhana.
Sekarang ini berfungsi asalkan Anda tidak melakukan apa-apa dengan skema, tetapi dalam kasus ini seperti yang
akan Anda lihat nanti kita benar-benar menambahkan paket enkripsi ini sebagai plug in ke skema Mongo itu.
Jadi kita harus naik level sedikit dan mengubah skema kita menjadi objek skema Mongo yang
tepat dan sebenarnya jika Anda melihat bagian skema dalam dokumentasi Mongoose ketika mereka berbicara
tentang menentukan skema Anda, Anda dapat melihat bahwa mereka juga membuat skema Mongoose baru dan kemudian
mereka membuat objek baru dari kelas itu untuk mendefinisikan skema.
Jadi mari kita lanjutkan dan ubah versi skema kami yang sangat sederhana menjadi skema Mongo lengkap.
Jadi kita akan mengetikkan skema dot luwak baru dengan huruf S. dan kemudian kita dapat membuka satu set tanda
kurung untuk melampirkan seluruh objek javascript ini.
Jadi satu di sini dan satu di sini.
Jadi sekarang skema pengguna ini bukan lagi hanya objek javascript sederhana tetapi sebenarnya adalah
objek yang dibuat dari kelas skema luwak.
Jadi mari kita lanjutkan dan tekan save dan kemudian mari kita lihat apa lagi yang perlu kita lakukan.
Jadi ada dua cara untuk mengenkripsi database Anda menggunakan paket enkripsi Mongoose ini.
Salah satu caranya adalah dengan membuat kunci enkripsi dan menetapkan kunci sebagai alternatif dan salah
satu yang akan kita gunakan adalah sedikit kemudian dalam dokumentasi yang mengapa sangat membantu untuk membaca
seluruh dokumentasi.
Kita akan menggunakan metode yang mudah untuk mendefinisikan rahasia yang hanya berupa string panjang dan kemudian
kita akan menggunakan rahasia itu untuk mengenkripsi basis data kita.
Jadi mari kita lanjutkan dan definisikan rahasia itu di sini.
Jadi saya akan membuat konstanta baru yang disebut rahasia dan ini akan diatur ke string panjang yang akan
Anda rahasiakan.
Jadi katakanlah ini adalah rahasia kecil kami dan sekarang kami siap menggunakan rahasia itu untuk mengenkripsi basis data kami dan kami melakukannya dengan mengambil
skema yang telah kami tentukan sebelumnya di sini dan kami akan menambahkan ah Mongoose mengenkripsi
sebagai sebuah plug masuk ke skema kami dan kami akan melewati rahasia kami sebagai objek javascript.
Jadi mari kita lanjutkan dan menerapkan baris kode ini pada Adopt Jesus kita dan saya akan meletakkannya tepat di
bawahnya.
Sekarang penting bahwa Anda menambahkan plugin ini ke skema sebelum Anda membuat model Mongoose Anda karena Anda
dapat melihat bahwa kami menguraikan dalam skema pengguna sebagai parameter untuk membuat model Mongoose baru kami.
Itu model pengguna.
Tetapi sebelum itu kita akan menambahkan paket enkripsi kami sebagai sebuah plugin dan jika Anda punya
waktu luang, bacalah bagian dokumentasi pada plugin di situs Web Mongoose.
Dan itu berbicara tentang bagaimana dasarnya apa itu plugin adalah bahwa hanya bit tambahan dari kode paket
yang dapat Anda tambahkan ke skema Mongoose untuk memperluas fungsi mereka atau memberi mereka lebih banyak kekuatan pada dasarnya.
Jadi sekarang ada skema yang mengaktifkan daya enkripsi ini, tetapi yang akan dilakukan adalah mengenkripsi seluruh basis
data kami.
Sekarang Anda mungkin atau mungkin tidak ingin perilaku semacam itu untuk basis data Anda karena nanti ketika
pengguna masuk kita harus mencari melalui basis data kami untuk menemukan alamat email mereka.
Lebih baik jika kita hanya mengenkripsi bidang kata sandi dan membiarkan bidang email tidak terenkripsi.
Jadi untuk melakukan itu kita harus mengubah opsi untuk paket enkripsi Mongoose kita
dan opsi yang akan kita ubah adalah hanya mengenkripsi bidang-bidang tertentu dan mereka membahasnya di bagian dokumentasi ini.
Dan untuk melakukan itu, yang harus Anda lakukan adalah menambahkan opsi ini bidang terenkripsi ke objek JavaScript
di akhir kode plugin itu.
Jadi kita akan menyalin bagian kecil ini di sini dan kita akan menambahkannya sebelum kurung kurawal
penutupan.
Jadi tepat setelah rahasia kita.
Di sini, sekarang dalam kasus kami, bidang terenkripsi bukanlah usia tetapi itu akan menjadi bidang kata sandi.
Jadi kita akan menukar input khusus ini dengan kata sandi dan itu hanya string sederhana yang Anda masukkan di
sana bahwa Anda harus memastikan kecocokan dengan salah satu nama bidang Anda.
Sekarang jika Anda ingin mengenkripsi beberapa bidang Anda juga bisa melakukannya hanya dengan menambahkan entri lain
ke dalam array ini.
Jadi sekarang kami telah menambahkan paket enkripsi kami ke skema pengguna kami, kami telah menetapkan rahasia yang akan
kami gunakan untuk mengenkripsi kata sandi kami dan juga bidang yang sebenarnya ingin kami enkripsi.
Kami sudah cukup banyak selesai.
Jadi kita tidak benar-benar harus melakukan hal lain yang khusus dalam register atau bagian login karena
cara Mongoose mengenkripsi bekerja adalah bahwa ia akan mengenkripsi ketika Anda memanggil aman dan kemudian akan mendekripsi ketika
Anda memanggil menemukan.
Jadi itu berarti bahwa ketika kita membuat pengguna baru dengan email kata sandi dan kita sebut
save secara otomatis di belakang layar Mongoose mengenkripsi akan mengenkripsi bidang kata sandi kita dan ketika kita nanti mencoba menemukan
dokumen kita berdasarkan dari email yang telah dimasukkan pengguna kemudian pada tahap ini pengenkripsi akan mendekripsi bidang kata sandi kami
untuk dapat memeriksanya di langkah ini dan melihat apakah pengguna dapat masuk.
Jadi mari kita simpan file kita dan mari kita lanjutkan dan jalankan dengan menggunakan Node man.
Ya dan pastikan tidak ada kesalahan dalam menjalankannya, maka kita dapat melanjutkan dan menghubungi tiga ribu host
lokal dan mencoba mendaftar.
Jadi kami telah membuat pengguna yang disebut one to two dot com.
Mari kita membuat at B dot com sekarang dan mari kita tentukan kata sandi mereka sebagai quirk T.
Jadi enam huruf pertama dari keyboard dan percaya atau tidak ini adalah salah satu dari lima kata sandi teratas
yang digunakan oleh orang-orang di seluruh dunia bersama dengan kata sandi yang sebenarnya.
Dan satu dua tiga empat lima enam.
Sekarang jika saya telah membaca kata sandi Anda sekarang, mohon ubah sementara Anda mempelajari keamanan, itu juga merupakan ide bagus untuk
memperbarui kata sandi Anda sendiri.
Jadi mari kita lanjutkan dan tekan register dan kita telah dibawa ke halaman rahasia.
Jadi itu berarti kami telah berhasil menyelamatkan pengguna baru kami ke dalam basis data kami.
Jadi mari kita lihat pengguna itu di dalam tim robo 3 sehingga kita bisa melihat itu sebelumnya ketika kita tidak mengenkripsi kata
sandi kita itu hanya di luar sana di depan mata
Pada dasarnya siapa pun dapat membaca kata sandi pengguna ini.
Tetapi sekarang setelah kami menambahkan enkripsi kami, Anda dapat melihat bahwa itu sekarang string biner yang sangat panjang yang
sangat sulit bagi siapa pun untuk menebak apa itu.
Jadi itu berarti jika seseorang meretas ke dalam basis data kami, mereka tidak akan dapat membaca dengan cepat kata sandi semua orang seperti yang dapat
mereka lakukan di sini.
Jadi kami telah memperbarui sedikit keamanan untuk pengguna kami.
Jadi mari kita lihat bagaimana enkripsi Mongoose menangani dekripsi.
Jadi mari kita kembali ke halaman beranda dan mencoba masuk pengguna kami.
Itu adalah dot com yang menyenangkan dan mari masukkan kata sandi mereka yang unik.
Ayo maju dan klik.
Masuk.
Jadi saya dibawa ke situs web rahasia dan kami tahu bahwa di basis data kami, kata sandi disimpan dienkripsi.
Jadi itu berarti bahwa ketika kita melakukan itu menemukan satu langkah enkripsi Mongoose berhasil mendekripsi kata
sandi untuk dapat membandingkannya pada tahap ini.
Dan jika Anda mau, Anda bisa benar - benar mencatat nilai yang ditemukan, gunakan kata sandi di dalamnya.
Temukan satu yang lengkap dan blokir dan Anda akan melihatnya dalam teks biasa.
Jadi ini berarti bahwa jika seseorang meretas situs web Anda maka mereka mungkin akan mendapatkan akses untuk memilih
keluar.
Ya tidak terlalu sulit untuk mengaksesnya.
Dan begitu mereka melakukannya mereka akan menemukan rahasia Anda.
Dan begitu mereka telah menemukan rahasia Anda maka mereka dapat menggunakan paket yang sama untuk mendekripsi semua kata sandi pengguna Anda.
Jadi selama kami dapat memulihkan versi teks biasa dari kata sandi pengguna kami, kami masih
membiarkannya kering.
Jadi dalam pelajaran berikutnya saya ingin membahas sesuatu yang disebut variabel lingkungan dan kita
akan belajar untuk memungkinkan kita menyimpan rahasia seperti kunci enkripsi kita atau hal-hal seperti kunci api terkait dengan kartu
kredit.
Apa pun yang Anda ingin tetap aman pada dasarnya.
Jadi untuk semua itu dan lebih banyak lagi, sampai jumpa di pelajaran selanjutnya.