I'm not commenting on the security side of the solution, there are real experts here who can help with this (or turn ityour idea right down ;) ).
However, assuming your solution (with SHA256) is acceptable and secure, your main problem seems to be that "carefully comparing all the digits of a SHA-256 hash .. takes a while".
Indeed, comparing a string of 64 hex digits is not an easy task for a human, so - why not think in the direction of presenting the same information in some human-friendly form?
Off the top of my head - let's have a dictionary of words (or images). Let each hex byte (00-FF) be used as an index to that dictionary. As a result we have a list of 32 words (or images) on the screen...
I'm sure you've got the idea...
Idea #2: Conversion (of some sort) from Hex digits into Latin alphabet letters (maybe plus decimals, maybe plus punctuation marks as well) - still much more readable than hex.
I have been reliably informed that the idea is perfectly on-topic on Cryptography.SE