I’ve always used Konesans’ Checksum Transformation in order to calculate the checksum of each dimension row to correctly handle SCD changes. But recently I had to change my mind.
I needed to use MD5 as a checksum since I found that using CRC32 or similar in some rare cases the calculated checksum was the same even for different rows, which resulted in a missing update.
While searching for an alternative to Konesans’ good component, I’ve found MultiHash:
http://ssismhash.codeplex.com/
that allows to calculate different kind of hash values, among that MD5, has a public accessible source code and is highly multithreaded (if you really need it).
It works really well: give it a try, I bet you’ll be satisfied!