Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hashing atau enkripsi variabel untuk dikirim dalam url

Keluaran dari sebagian besar enkripsi (atau hashing, dll.) adalah data biner arbitrer, yang tidak dapat dimasukkan dengan aman ke dalam URL tanpa menyandikannya.

Sebagai catatan telur , cukup menggunakan urlencode() pada data harus cukup. Namun, pengkodean URL standar mungkin bukan cara yang paling ringkas untuk mengkodekan data biner acak. Base64 encoding akan lebih efisien, tetapi sayangnya tidak sepenuhnya aman untuk URL karena penggunaan + karakter.

Untungnya, ada varian standar aman URL dari pengkodean base64, yang ditentukan dalam RFC 4648 sebagai "base64url". Berikut sepasang fungsi untuk encoding dan decoding data menggunakan encoding ini di PHP, berdasarkan jawaban ini oleh "gutzmer at usa dot net" :

function base64url_encode($data) {
    return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}

function base64url_decode($data) {
    return base64_decode(strtr($data, '-_', '+/'));
}

(Saya telah sedikit menyederhanakan fungsi decoding, karena setidaknya versi PHP saat ini tampaknya tidak memerlukan = karakter padding dalam input ke base64_decode() .)

hal. Untuk menghasilkan token acak dengan aman, lihat mis. pertanyaan ini .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buat komentar untuk tampilan di mysql

  2. Menggunakan MySQL dengan Entity Framework

  3. Kamera Android untuk mengambil banyak foto

  4. Penghitung Tampilan SQL PHP menggunakan PDO prepare()

  5. Bagaimana cara membuat bidang NULL menggunakan Alat GUI MySQL?