Yeah, but the example I was running was returning 28 characters, as was the expected output from that VB function, but they were a different 28 characters, so it must have been that one function is hashing before converting to Base64 (I don't get that - how does 20 in Base64 make 28? :S) and the other one was... doing something else but still producing a Base64 number.