我想用java產生一個字符串「TREFFLAGDATAC000000EN」的MD5校驗和值,但是對於相同的字符串IBM InfoSphere DataStage正在生成不同的MD5校驗和值。發現由java和datastage生成不同的MD5哈希值
任何人都可以請指導我如何生成數據階段給出的相同的MD5校驗和值?
MD5由Java代碼:通過數據階段產生4659dff22b357cd9cc9fe0979603d1ab MD5:fd607ac2a5d19980795c584dff24b899
下面是我的Java代碼
public static void main(String[] args) throws UnsupportedEncodingException{ String value = "TREFFLAGDATAC000000EN"; String hashCode = DigestUtils.md5Hex(value.getBytes("UTF-8")); System.out.println(hashCode); }
那麼目前你的代碼是特定於平臺的 - 你使用'value.getBytes()'這將使用平臺默認編碼來轉換文本成字節。這可能不是問題,但它是*潛在的問題。你也在一個字符串上調用'toString()',這很奇怪。您的示例代碼中的「值」是空字符串,而不是「TREFFLAGDATAC000000EN」。 –
感謝您的回覆Jon。我現在用字符串值更新了我的代碼。 – user3488451