Tôi có một dịch vụ web. Ngay bây giờ, tôi có mật khẩu được lưu trữ trong văn bản thuần trong bảng MySQL trên máy chủ của mình. Tôi biết đây không phải là cách thực hành tốt nhất và đó là lý do tại sao tôi đang thực hiện nó.
Tại sao mật khẩu phải được mã hóa nếu chúng đang được lưu trữ trong cơ sở dữ liệu an toàn? Tôi nhận ra rằng nếu ai đó xâm nhập vào cơ sở dữ liệu của tôi, họ sẽ nhận được mật khẩu của mọi người. Nhưng tôi có vấn đề khác nếu ai đó vào cơ sở dữ liệu của tôi, ví dụ như xóa dữ liệu.
Kịch bản tôi có thể nghĩ là bạn bị hack. Bạn khôi phục cơ sở dữ liệu từ vài giờ trước và mọi thứ đều ổn. Tuy nhiên, nếu mật khẩu của bạn là văn bản gốc ... Kẻ trộm có tất cả mật khẩu và bạn phải đặt lại tất cả. Hầm cho người dùng của bạn.
Nếu mật khẩu được mã hóa, bạn có thể khôi phục lại cơ sở dữ liệu trước đó. Đây có phải là suy nghĩ đúng?