Cara Menyulitkan Maklumat Kad Kredit dalam Pangkalan Data SQL

Maklumat kad kredit dalam pangkalan data perniagaan anda lebih selamat jika anda menyulitkannya. Sekiranya anda menyimpan maklumat ini sebagai teks biasa, pengguna yang tidak bertanggungjawab dapat mencuri data dengan mudah melalui pertanyaan SQL dalam talian atau dengan mengimbas fail pada cakera keras pelayan pangkalan data. Perisian pangkalan data SQL Server Microsoft menawarkan dua fungsi yang mudah digunakan, salah satunya mengenkripsi data menggunakan frasa laluan, yang lain menyahsulitkannya dengan frasa laluan yang sama. Gunakan fungsi-fungsi ini dalam pernyataan SQL INSERT, SELECT dan UPDATE anda untuk menyimpan dan mengambil maklumat dalam bentuk yang dienkripsi.

1

Klik butang "Mula". Pindahkan kursor anda ke "Microsoft SQL Server" di bahagian "Semua Program", kemudian klik "SQL Server Management Studio." Ini memulakan program Studio Pengurusan dan memaparkan kotak dialog "Sambungkan ke Pelayan".

2

Pilih entri komputer pelayan SQL dalam dialog "Sambungkan ke Pelayan" dengan mengklik padanya. Tetapkan senarai tarik-turun "Pengesahan" ke "Pengesahan Windows", kemudian klik butang "Sambung".

3

Klik "Pertanyaan Baru" di bar alat Studio Pengurusan. Ini membuka editor teks di sebelah kanan skrin.

4

Tambahkan medan data "VARBINARY" ke jadual pangkalan data di mana anda ingin menyimpan maklumat kad kredit yang disulitkan. Gunakan kod SQL berikut sebagai panduan:

ALTER TABLE customer_info TAMBAH cc_number VARBINARY (100) null;

Klik simbol "Jalankan" - segitiga hijau dan kanan ke bar alat Studio Pengurusan - untuk melaksanakan kod ini. Ini menambah medan binari pemboleh ubah 100-byte, "cc_number", ke jadual yang ada, "customer_info." Fungsi penyulitan menukar data teks dan angka menjadi binari, jadi jadual memerlukan medan binari untuk menyimpan data.

5

Tambahkan catatan ke jadual menggunakan fungsi "Encryptbypassphrase ()" untuk mengenkripsi maklumat kad kredit, seperti dalam contoh berikut:

INSERT INTO customer_info ('customer_id', 'name', 'cc_number') NILAI ('50120', 'Sam Jones', Encryptbypassphrase ('codecode', '1212704331100'));

Klik simbol "Jalankan". Ini menambahkan catatan ke jadual customer_info untuk Sam Jones, yang nombor kad kreditnya adalah 1212704331100. Fungsi "Encryptbypassphrase" mengubah nombor kad kredit menjadi medan binari yang disulitkan menggunakan kata laluan "kod rahsia".

6

Baca rekod dengan penyataan SQL SELECT. Untuk mendapatkan maklumat kad kredit, gunakan fungsi "Decryptbypassphrase ()", berikan frasa laluan yang asal. Tanpa frasa laluan, data yang disulitkan tetap tidak dapat dibaca. Setelah menyahsulitkan nombor kad kredit, gunakan fungsi "Convert ()" untuk menukar data binari kembali menjadi aksara. Pernyataan SELECT muncul seperti berikut:

PILIH nama, Tukar (varchar (20), Decryptbypassphrase ('secretcode', cc_number)) DARI customer_info MANA customer_ID = '50120';

Klik simbol "Jalankan" untuk melaksanakan pernyataan SELECT.