First of all, you have to hash it as byte data. You have hashed it as string. Secondly, the hash is actually SHA256 Double, so you need to hash it, then take that hash and hash it again, both times as byte data. The result should be the block hash in reverse byte order (it's one of the endians, I can't remember which).
As an example of how to do this if you are at a command line interface on a Apple or Linux computer:
First create a txt file that has the block data in format that you would get if you ran xxd on a file containing the 80 bytes:
0000000: 0000 0020 8a20 ce00 9629 c821 2d07 4a4f ................
0000010: 3e00 9401 136e 5e15 eb07 7503 0000 0000 ................
0000020: 0000 0000 6611 25a4 7e38 5fcf 4ba1 aea7 ................
0000030: cfd7 f90a 3e73 ce3e e662 a6d5 e8fc 58c9 ................
0000040: d115 0ea2 625f f157 d48e 0418 9f0f f7d6 ................
In my case, I saved this in a file named "blockheader.txt".
Then use the "reverse" functionality of xxd to convert this ascii txt file into 80 bytes ( a 640 bit binary value ). Using the command below, I saved the binary value in a file named "blockheader.binary"
xxd -r blockhaeder.txt > blockheader.binary
Now, you can hash this 80 byte file:
openssl dgst -sha256 blockheader.binary
You should get:
SHA256(blockheader.binary)= be7df6a863420c1ba92315fbc04b6bb30eda27479c64ce918c10b30aa2def684
However, we don't want a 160 character ascii representation of the hash, we want the actual 256 bit binary value. "openssl dgst" has a -binary option to output the binary value. We'll capture this in a file that we'll call "blockheader.step1":
openssl dgst -sha256 -binary blockheader.binary > blockheader.step1
Now you can calculate the hash of blockheader.step1 to get the final blockhash value that Bitcoin uses:
openssl dgst -sha256 blockheader.step1
You should get:
SHA256(blockheader.step1)= d972e55cdcfef7665dc28c7b6942d04f1065723efcb87d040000000000000000
Since Bitcoin uses little endian byte order, you'll need to reverse the order of the bytes in that:
Split up the bytes:
d9 72 e5 5c dc fe f7 66 5d c2 8c 7b 69 42 d0 4f 10 65 72 3e fc b8 7d 04 00 00 00 00 00 00 00 00
Reverse the order of the bytes:
00 00 00 00 00 00 00 00 04 7d b8 fc 3e 72 65 10 4f d0 42 69 7b 8c c2 5d 66 f7 fe dc 5c e5 72 d9
There you go. All done.