Furthermore, mining ASICs bake in assumptions about the structure of x as an optimization. I'm not sure they can even be used to hash arbitrary values of x.
I can see it now: a developer copying Bitcoin code into his authentication library because "Bitcoin is secure"
Is cracking a sha256(x) the same runtime as sha256(sha256(sha256(sha256((x)))))? I remember the first time I saw bitcoin's double use of sha256 like this, and I was confused as to whether there is a security benefit to this.