O funcție hash criptografică sigură oferă rezistența preimagine, care Wikipedia definește astfel:
[P]sau, în esență, toate ieșirile prespecificate, este imposibil din punct de vedere computațional să găsești orice intrare care trimite hash la acea ieșire; adică, dat fiind y, este dificil să găsim un x astfel încât h(x) = y.
Aceasta înseamnă că pentru o funcție hash criptografică sigură, cea mai eficientă modalitate de a determina intrarea este prin forța brută. Cât de ușor este forța brută depinde de entropia din intrare. Dacă cheia dvs. criptografică este de 128 de biți și utilizați SHA-256, care oferă securitate pe 256 de biți împotriva atacurilor preimagine, atunci cel mai bun atac de forță brută este să ghiciți intrarea pe 128 de biți.
Când utilizați un șir fix, acesta nu adaugă nicio entropie la hash, așa că nu îngreunează situația. Dar, de asemenea, nu ușurează ghicirea intrării, deoarece ghicirea intrării (efectuarea unui atac preimagine) se presupune că este imposibil din punct de vedere computațional, indiferent.
Un lucru care trebuie remarcat este că SHA-256 este vulnerabil la atacurile cu extensie de lungime, în care un atacator care cunoaște o ieșire poate produce hash-uri valide care încep cu același prefix fără a cunoaște acel prefix. Dacă acest lucru contează în situația dvs., utilizați un hash care nu este vulnerabil la acest lucru, cum ar fi unul dintre hashurile SHA-3 sau BLAKE2.