Note that String.getBytes()
translates characters to bytes using the default character encoding of the system. If the systems have different default character encodings, you get different byte arrays, leading to different checksums.
Specify the character encoding that you want to use to get consistent results:
byte[] bytes = text.getBytes("UTF-8");