Is it possible to calculate sha256 hashes in the browser using the user's video card, eg. by using WebGL or Flash?

This should be possible. Given an implementation of SHA as a fragment shader, you should be able to read back the results using readPixels:

Read Back Pixels [5.13.12] Pixels in the current framebuffer can be read back into an ArrayBufferView object.

void readPixels(int x, int y, long width, long height, enum format, enum type, Object pixels)

format: RGBA

type: UNSIGNED_BYTE

From the Kronos WebGL reference card (PDF)

For extra credit, do it all in an offscreen framebuffer, as described here.