Hàm băm mật mã an toàn cung cấp kháng cự, cái mà Wikipedia định nghĩa theo cách này:
[F]hoặc về cơ bản là tất cả các đầu ra được chỉ định trước, không thể tính toán được bất kỳ đầu vào nào băm vào đầu ra đó; tức là, với y, rất khó để tìm một x sao cho h(x) = y.
Điều đó có nghĩa là đối với hàm băm mật mã an toàn, cách hiệu quả nhất để xác định đầu vào là bằng vũ lực. Lực lượng vũ phu dễ dàng như thế nào phụ thuộc vào entropy trong đầu vào. Nếu khóa mật mã của bạn là 128 bit và bạn đang sử dụng SHA-256, cung cấp bảo mật 256 bit chống lại các cuộc tấn công tạo ảnh trước, thì cách tấn công vũ phu tốt nhất là đoán đầu vào 128 bit.
Khi bạn sử dụng một chuỗi cố định, nó sẽ không thêm bất kỳ entropy nào vào hàm băm, vì vậy nó không làm cho nó khó hơn nữa. Nhưng nó cũng không làm cho việc đoán đầu vào trở nên dễ dàng hơn bởi vì việc đoán đầu vào (thực hiện một cuộc tấn công tạo ảnh trước) được cho là không khả thi về mặt tính toán.
Một điều cần lưu ý là SHA-256 dễ bị tấn công mở rộng độ dài khi kẻ tấn công biết một đầu ra có thể tạo ra các giá trị băm hợp lệ bắt đầu bằng cùng một tiền tố mà không cần biết tiền tố đó. Nếu điều này quan trọng trong tình huống của bạn, hãy sử dụng hàm băm không dễ bị ảnh hưởng bởi điều này, chẳng hạn như một trong các hàm băm SHA-3 hoặc BLAKE2.