Cách mã hóa thông tin thẻ tín dụng trong cơ sở dữ liệu SQL

Thông tin thẻ tín dụng trong cơ sở dữ liệu của doanh nghiệp của bạn an toàn hơn nhiều nếu bạn mã hóa nó. Nếu bạn lưu trữ thông tin này dưới dạng văn bản thuần túy, người dùng vô đạo đức có thể dễ dàng đánh cắp dữ liệu thông qua các truy vấn SQL trực tuyến hoặc bằng cách quét các tệp trên ổ cứng của máy chủ cơ sở dữ liệu. Phần mềm cơ sở dữ liệu SQL Server của Microsoft cung cấp hai chức năng dễ sử dụng, một trong số đó mã hóa dữ liệu bằng cụm mật khẩu, còn lại giải mã nó bằng cùng một cụm mật khẩu. Sử dụng các hàm này trong các câu lệnh SQL INSERT, SELECT và UPDATE của bạn để lưu trữ và truy xuất thông tin ở dạng được mã hóa.

1.

Nhấp vào nút "Bắt đầu". Di chuyển con trỏ của bạn đến "Microsoft SQL Server" trong phần "Tất cả chương trình", sau đó nhấp vào "SQL Server Management Studio." Thao tác này khởi động chương trình Management Studio và hiển thị hộp thoại "Kết nối với máy chủ".

2.

Chọn một mục nhập máy tính SQL trong hộp thoại "Kết nối với máy chủ" bằng cách nhấp vào nó. Đặt danh sách thả xuống "Xác thực" thành "Xác thực Windows", sau đó nhấp vào nút "Kết nối".

3.

Nhấp vào "Truy vấn mới" trên thanh công cụ của Studio quản lý. Điều này sẽ mở một trình soạn thảo văn bản ở phía bên phải của màn hình.

4.

Thêm trường dữ liệu "VARBINARY" vào bảng cơ sở dữ liệu mà bạn muốn lưu trữ thông tin thẻ tín dụng được mã hóa. Sử dụng mã SQL sau đây làm hướng dẫn:

THAY ĐỔI khách hàng_info THÊM cc_number VARBINARY (100) null;

Nhấp vào biểu tượng "Chạy" - hình tam giác màu xanh lục, phải trong thanh công cụ Management Studio - để thực thi mã này. Điều này thêm trường nhị phân biến 100 byte, "cc_number" vào bảng hiện có, "customer_info." Các hàm mã hóa chuyển đổi văn bản và dữ liệu số thành nhị phân, do đó bảng cần có trường nhị phân để giữ dữ liệu.

5.

Thêm bản ghi vào bảng bằng cách sử dụng chức năng "Encryptbypassphrase ()" để mã hóa thông tin thẻ tín dụng, chẳng hạn như trong ví dụ sau:

XÁC NHẬN VÀO KHÁCH HÀNG

Nhấp vào biểu tượng "Chạy". Điều này thêm một bản ghi vào bảng customer_info cho Sam Jones, có số thẻ tín dụng là 1212704331100. Hàm "Encryptbypassphrase" chuyển đổi số thẻ tín dụng thành trường nhị phân được mã hóa bằng mật khẩu "mã bí mật".

6.

Đọc bản ghi với câu lệnh SQL SELECT. Để lấy thông tin thẻ tín dụng, hãy sử dụng chức năng "Decryptbypassphrase ()", cung cấp cho nó mật khẩu gốc. Không có cụm mật khẩu, dữ liệu được mã hóa vẫn không thể đọc được. Sau khi giải mã số thẻ tín dụng, hãy sử dụng chức năng "Convert ()" để chuyển đổi dữ liệu nhị phân thành ký tự. Câu lệnh SELECT xuất hiện như sau:

Tên CHỌN, Chuyển đổi (varchar (20), Giải mã mật khẩu ('mật mã', cc_number)) TỪ customer_info WHERE customer_ID = '50120';

Nhấp vào biểu tượng "Chạy" để thực thi câu lệnh CHỌN.

Bài ViếT Phổ BiếN