generate checksum di client side