Tôi thực hiện một số dự án liên quan đến việc tự động gửi biểu mẫu và/hoặc truy xuất dữ liệu từ các trang web. Một số trang web này yêu cầu xác thực tên người dùng/mật khẩu. (Những trang web này không có API, vì vậy tôi đang dựa vào nạo màn hình.)Tôi có thể lập trình đăng nhập vào một trang web mà không lưu trữ mật khẩu trong văn bản thuần túy không?
Hầu hết các hướng dẫn Tôi đã nhìn thấy lưu trữ tên người dùng và mật khẩu trong mã nguồn giống như bất kỳ dữ liệu POST khác, ví dụ:
string username = "someUserName";
string password = "somePassword";
// submit POST data...
Nhưng tôi biết lưu trữ mật khẩu ở dạng văn bản thuần túy thường không được chấp nhận. Có phương pháp thay thế nào tôi nên sử dụng không?
Đó thực sự không phải là mã hóa. Nếu tập lệnh có thể nhận được mật khẩu văn bản thuần túy để bất kỳ ai cũng có quyền chạy nó. – pguardiario
Bạn thực sự không thể tranh luận với mã hóa. Nếu nó được mã hóa, nó được mã hóa. Quan điểm của tôi là bạn có thể tách mật khẩu khỏi mã và lưu trữ chúng (mã hóa) trong cơ sở dữ liệu, chỉ làm cho chúng có sẵn thông qua mật khẩu chính. Làm thế nào OP quyết định xử lý mật khẩu chính là hoàn toàn tùy thuộc vào anh ta. Ví dụ. nhắc người dùng về mật khẩu chính khi khởi động sẽ ngừng truy cập trái phép vào mật khẩu. Tất nhiên, "bất cứ ai có quyền chạy nó" có thể, nhưng điều đó không ngụ ý truy cập vào mật khẩu. – jurgemaister
Hmm, nhắc mật khẩu là tốt nhưng câu hỏi là làm thế nào để lưu trữ mật khẩu. Sử dụng một "mật khẩu chủ" thực sự chỉ cần thêm một mức độ phức tạp không cần thiết, và như xa như mã hóa đi ... Tôi không thấy những gì bảo vệ bạn đang hy vọng để có được từ rot13 hoặc bất kỳ chương trình đảo ngược bạn đang sử dụng. Nếu tôi có thể chạy tập lệnh, tôi có thể thấy mật khẩu. – pguardiario