Guide 27 Mar 2026 10 min bacaan

Penjanaan Rentetan Rawak Selamat - Panduan Lengkap Kerawakan Kriptografi

Ketahui mengapa rentetan rawak yang selamat secara kriptografi penting, cara CSPRNG berfungsi, dan cara menjana kata laluan, kunci API, token dan ID unik yang selamat.

Secure Random String Generation Guide

Mengapa Rentetan Rawak Penting

Rentetan rawak adalah asas keselamatan digital. Setiap kali anda log masuk ke laman web, menyambung ke API, atau membuat pembayaran dalam talian, rentetan rawak berfungsi di belakang tabir untuk memastikan data anda selamat.

  • Kata laluan: Kata laluan yang kuat pada dasarnya adalah rentetan rawak yang hanya anda ketahui.
  • Kunci API: Perkhidmatan seperti Google Maps, Stripe dan AWS menggunakan rentetan rawak sebagai kunci API untuk mengesahkan permintaan.
  • Token sesi: Apabila anda log masuk, pelayan menjana token sesi rawak. Jika token ini boleh diramal, penyerang boleh merampas sesi anda.
  • UUID: Pengecam Unik Universal ialah rentetan rawak 128-bit untuk kunci utama pangkalan data dan sistem teragih.
  • Kunci penyulitan dan salt: Operasi kriptografi memerlukan kunci dan nilai salt yang benar-benar rawak.

Rawak vs Selamat Secara Kriptografi

Math.random() -- Pseudorawak (Tidak Selamat)

Math.random() dalam JavaScript dijana oleh algoritma deterministik. Penyerang boleh meramal output.

Jangan sekali-kali gunakan Math.random() untuk: Kata laluan, token, kunci API, ID sesi, kunci penyulitan atau sebarang nilai berkaitan keselamatan.

crypto.getRandomValues() -- Selamat Secara Kriptografi

CSPRNG direka khusus untuk aplikasi keselamatan, menggunakan sumber fizikal yang tidak boleh diramal.

// INSECURE - Do NOT use for security purposes
var weak = Math.random().toString(36).substring(2);

// SECURE - Cryptographically strong random string
function generateSecureString(length, charset) {
    var result = '';
    var values = new Uint32Array(length);
    crypto.getRandomValues(values);
    for (var i = 0; i < length; i++) {
        result += charset[values[i] % charset.length];
    }
    return result;
}

// Usage
var charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()';
var secureString = generateSecureString(32, charset);
console.log(secureString);
// Output: something like "kR9$mX2@pL7#nQ5vW8&jT4*bF6!cY3h"

Kes Penggunaan Biasa

  • Penjanaan kata laluan: Sekurang-kurangnya 12-16 aksara, semua jenis aksara, sepenuhnya rawak
  • Kunci API: 32-64 aksara alfanumerik, unik di seluruh sistem
  • Pengecam unik: Untuk rekod pangkalan data dan sistem teragih
  • Kod kupon: Rawak untuk mencegah ramalan dan penyalahgunaan
  • Salt untuk pencincangan: Salt rawak unik untuk setiap kata laluan

Set Aksara dan Kekuatan Rentetan

Kekuatan rentetan rawak bergantung pada panjang dan saiz set aksara. Bersama-sama, ia menentukan entropi.

Entropi = Panjang x log2(Saiz Set)
Character Set Pool Size Entropy per Char 8-char Entropy 16-char Entropy Brute Force (16 chars)
Lowercase only (a-z) 26 4.7 bits 37.6 bits 75.2 bits ~1,200 years
Lower + Upper (a-z, A-Z) 52 5.7 bits 45.6 bits 91.2 bits ~78 million years
Alphanumeric (a-z, A-Z, 0-9) 62 5.95 bits 47.6 bits 95.2 bits ~600 million years
All printable (a-z, A-Z, 0-9, symbols) 94 6.55 bits 52.4 bits 104.8 bits ~Trillions of years

Amalan Terbaik

  • Sentiasa gunakan CSPRNG
  • Panjang mencukupi: 16+ aksara untuk kata laluan, 32-64 untuk kunci API
  • Set aksara seluas mungkin
  • Jangan sekali-kali guna semula rentetan rawak
  • Simpan dengan selamat: bcrypt untuk kata laluan, kunci API dicincang, HTTPS untuk token

Menggunakan Penjana Rentetan Rawak Kami

Penjana Rentetan Rawak percuma kami mencipta rentetan selamat secara kriptografi:

  1. Tetapkan panjang: 1 hingga 256 aksara
  2. Pilih jenis aksara: Huruf besar, huruf kecil, nombor, aksara khas
  3. Kecualikan aksara samar: Untuk kod yang perlu ditaip secara manual
  4. Jana berbilang: Sehingga 100 rentetan sekaligus
Jaminan privasi: Alat kami berjalan 100% dalam pelayar anda. Tiada rentetan dihantar atau disimpan di mana-mana pelayan.
Jana Rentetan Rawak Selamat

Gunakan Penjana Rentetan Rawak percuma kami untuk mencipta rentetan selamat secara kriptografi dengan serta-merta.