Tôi hiện đang trong quá trình cố gắng tìm ra cách tốt nhất để băm mật khẩu cho ứng dụng ASP.NET MVC 3 của tôi. Từ những gì tôi nghe được, tốt nhất là sử dụng mật khẩu đã cho và một muối ngẫu nhiên và sau đó lưu trữ mật khẩu băm và muối với nhau. Câu hỏi của tôi sẽ không làm cho muối ngẫu nhiên vô nghĩa? Ý tôi là lý do băm mật khẩu là vì nếu ai đó vào cơ sở dữ liệu của bạn, họ không có mật khẩu đơn giản và muối làm cho nó khó hơn nhiều để đảo ngược mã băm để lấy mật khẩu nhưng nếu tôi lưu trữ băm bằng mật khẩu, điểm muối là gì (kiến thức của tôi về băm là hạn chế nên tôi có thể hoàn toàn rời khỏi cơ sở với suy nghĩ của mình).Hashing Mật khẩu Với ASP.NET MVC 3
Câu hỏi thứ hai của tôi là phương pháp băm nào là phương pháp tốt nhất để sử dụng? Tôi đọc rằng MD5 (đó là những gì tôi đã luôn luôn được sử dụng) là rất đơn giản để crack. Tôi nghe bcrypt/sha512 khá tốt. Nên sử dụng cái nào? Tôi biết rằng C# theo mặc định đi kèm với băm sha512. Từ những gì tôi có thể thấy, bcrypt không được bao gồm trong thư viện .NET, có thư viện nào tốt cho C# và bcrypt không?
Có một lời khuyên hoàn toàn không đúng trong bài đăng này. Đây là một nguồn tốt hơn: http://crackstation.net/hashing-security.htm –