1. 程式人生 > >MD5加密後轉String 問題

MD5加密後轉String 問題

專案中遇到一個問題,需要使用MD5加密後將字串上傳,嘗試了幾次發現總是返回簽名錯誤。網上查了很久以後發現
MD5加密後的byte[]陣列不能直接toString()
需要將byte[]每一位都轉成16進位制輸出,程式碼如下

    private static String byteToString(String bs) {
        StringBuilder stringBuilder = new StringBuilder();

        try {
            byte[] md5s = MessageDigest.getInstance("MD5"
).digest(bs.getBytes("utf-8")); for (byte b : md5s) { stringBuilder.append(String.format("%02x", new Integer(b & 0xff))); } return stringBuilder.toString(); } catch (Exception e) { throw new FatalException("md5物件初始化失敗", e); } }