From my understanding, a hash function is an algorithm that takes a unique input and produces a unique output, and a secure hash like SHA-256 cannot be reverse engineered. I saw this thread Won't ASIC miners eventually break SHA-256 encryption? saying that it would take a ridiculously long time to crack a SHA-256 hash, but can't you just brute force it if the input is short?
For example, if an insecure password such as test123 was turned into a SHA-256 hash, and an average gpu can do around 1000 MH/s, then just by brute forcing alphanumeric characters up to 7 digits (26 + 10) ^ 7, then wouldn't it take only about (26 + 10) ^ 7/(1000*1000)/60/24 = 54 days to crack it (less with a good gpu)?
Basically what I'm trying to say is isn't the strength of a SHA-256 hash directly correlated to the length of it's input? If a really short string such as "idk" was turned into a SHA-256 hash, wouldn't it be cracked in a matter of milliseconds? (and thus proving that you can crack a SHA-256 hash)