Tôi chịu trách nhiệm thực hiện xác thực trong Ứng dụng web .NET MVC 4 của chúng tôi và tôi đã gặp phải một sự cố liên quan đến băm mật khẩu, lưu trữ và xác thực.Nơi để lưu trữ muối mật khẩu và cách lấy mật khẩu
Gói hiện đang sử dụng 2 Salts, 1 Dynamic (Per User) và 1 Static (Web App Constant) và chức năng Hashing mạnh.
Cho một bảng người dùng đơn giản có chứa một tên người dùng và mật khẩu:
- Tôi lưu trữ cho mỗi người dùng muối trong một cột trong bảng tài khoản?
Lo ngại của tôi là khi làm như vậy, tôi sẽ phải đưa người dùng từ cơ sở dữ liệu vào bộ nhớ ứng dụng web chỉ với tên người dùng của nó. Có loại tấn công nào có thể có vấn đề không? Lý tưởng nhất tôi muốn có điều này là xác thực Yêu cầu SQL một bước/một.
Tôi có lo lắng quá nhiều không? Có thay thế cho muối "Mỗi người dùng" mà tôi vẫn có thể thực hiện xác thực một bước không?
Cũng giống nhau: http://stackoverflow.com/questions/1219899/where-do-you-store-your-salt-strings – user956584