Tôi có một chương trình, trong đó mật khẩu cho cơ sở dữ liệu được thiết lập bởi người dùng từ xa. Chương trình sẽ lưu tên người dùng và mật khẩu vào một chuỗi được mã hóa trong một tệp xml mà nếu không sẽ có thể đọc được. Bây giờ, điều này hoạt động tốt, tôi sử dụng mã hóa C# DES với một khóa, và nó được mã hóa và giải mã. Bây giờ, vấn đề là bất cứ ai có thể sử dụng phản xạ để xem chìa khóa. Ngay cả với obfuscation, chìa khóa nên được dễ dàng rõ ràng. Vì vậy, làm thế nào để đối phó với điều này? Bây giờ, tôi không cần điều này để được NSA an toàn, nhưng tôi thực sự muốn ngăn chặn bất cứ ai nhìn trộm. Cảm ơn.Mã hóa C# trong độ tuổi phản xạ
EDIT: Cảm ơn tất cả các lời khuyên cho đến nay, thông tin về loại điều này không phải là rất phổ biến, và tôi thực sự đánh giá cao lời khuyên chung cũng như câu trả lời cụ thể.
Bạn đang đặt câu hỏi bảo mật. Bạn đã xác định được _vulnerable resource_ - cơ sở dữ liệu. Bạn đã xác định _vulnerability_ - thiếu mã hóa hiệu quả trên tệp mật khẩu. Bạn chưa xác định được _threat_. Đó là nguy hiểm phản tác dụng để cố gắng tìm ra các giảm nhẹ đối với lỗ hổng mà không xác định được mối đe dọa đầu tiên! Ai đang đe dọa tài nguyên của bạn và làm cách nào? –
Vâng, không có ai cụ thể, tôi muốn viết mã cho ứng dụng của mình để bảo mật và không có phương pháp hay nhất nào. – Steve
Cách thực hành tốt nhất # 1 để mã hóa các ứng dụng bảo mật là xác định THREATS. Bạn không thể an toàn nếu bạn thậm chí không biết những mối đe dọa bạn đang bảo vệ mã chống lại. Ý tôi là, giả sử tôi yêu cầu bạn thiết kế cho tôi một ngôi nhà an toàn.Có thể bạn sẽ bắt đầu bằng cách đưa ra một danh sách các mối đe dọa cho những người cư ngụ của ngôi nhà như là bước đầu tiên, phải không? –