Salt Baru
Termasuk bagian Autentikasi dan Keamanan dalam perjalanan Node.js di Coddy. Pelajaran 3 dari 24.
Orang-orang dapat memilih kata sandi yang sama. Salt adalah data acak yang disertakan saat membuat kunci kata sandi yang disimpan. Salt baru membuat kata sandi yang sama menghasilkan kunci tersimpan yang berbeda. Salt disimpan bersama kunci; salt tidak perlu dirahasiakan.
const salt = randomBytes(8).toString('hex');
// 8 byte acak ditulis sebagai 16 karakter heksadesimalBuat salt di dalam fungsi yang dipanggil untuk setiap kata sandi baru. Nilai yang dibuat sekali saat server dimulai akan digunakan kembali. Kamu telah membuat kunci menggunakan salt latihan yang tetap. Penyimpanan kata sandi kini memerlukan salt baru setiap kali. Di sini, berlatihlah hanya membuat salt dan melihat panjang teksnya, yaitu 32 karakter.
randomBytes menggunakan generator acak kriptografis. Math.random() tidak ditujukan untuk nilai yang sensitif terhadap keamanan. Gunakan fungsi kriptografis yang diimpor untuk salt.
Tantangan
MudahIni adalah proyek latihan kecil. Penyiapannya sudah disediakan, edit hanya exercise.js.
Kembalikan salt acak baru berukuran 16 byte dalam format hex di salt. Jalankan dan gunakan GET ke /result dua kali: setiap respons berisi string hex 32 karakter yang berbeda. Jangan gunakan salt tetap.
Coba sendiri
import { randomBytes } from 'node:crypto';
export function exercise() {
return { salt: '00000000000000000000000000000000' };
}
Semua pelajaran di Autentikasi dan Keamanan
Latihan sendiri: Playground Express