Đã có couple trong số great các cuộc thảo luận về thực tiễn tốt nhất và có vẻ như đề xuất áp đảo là tạo ra một loại muối khác nhau cho mỗi mật khẩu và lưu trữ nó cùng với mật khẩu trong cơ sở dữ liệu.Lưu trữ muối trong mã thay vì cơ sở dữ liệu
Tuy nhiên, nếu tôi hiểu mục đích của muối một cách chính xác, đó là giảm khả năng bạn sẽ bị xâm nhập bởi các cuộc tấn công của bảng cầu vồng. Vì vậy, tôi hiểu rằng bằng cách lưu trữ nó trong cơ sở dữ liệu nó sẽ là tối ưu để thay đổi nó cho mỗi người dùng, nhưng nếu muối không ở đâu gần cơ sở dữ liệu thì sao? Nếu tôi lưu trữ một giá trị muối duy nhất trong mã (mà sẽ trên máy chủ web được trong một dll biên dịch), sẽ không phục vụ cùng một mục đích nếu một kẻ tấn công bằng cách nào đó được truy cập vào cơ sở dữ liệu? Có vẻ như tôi sẽ an toàn hơn.
và nếu bạn muốn có nhiều niềm vui, làm cả hai;) hoặc làm cả hai và lưu trữ một cơ sở dữ liệu, hoặc làm cả hai, với một muối thứ ba trong cơ sở dữ liệu và muối thứ tư đó là một dup: D – Malfist