0

md5 を使用して、キーとシークレットを使用してレスト コールを実装しようとしています。方法を試しましたが、エラーが発生しました。

{"ステータス":"エラー","メッセージ":"署名の不一致"}.

私を助けてください、それは非常に緊急です!!

これは私のmd5メソッドです。

private static final String md5(final String parem) {
    try {
        // Create MD5 Hash
        MessageDigest digest = java.security.MessageDigest
                .getInstance("MD5");
        digest.update(parem.getBytes());
        byte messageDigest[] = digest.digest();

        // Create Hex String
        StringBuffer hexString = new StringBuffer();
        for (int i = 0; i < messageDigest.length; i++) {
            String h = Integer.toHexString(0xFF & messageDigest[i]);
            while (h.length() < 2)
                h = "0" + h;
            hexString.append(h);
        }
        return hexString.toString();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return "";
}

前もって感謝します。

4

1 に答える 1

0

私は自分のクラスの1つで試してみましたが、違いは1つだけでした:

Yours: 入力: テスト 出力:098f6bcd4621d373cade4e832627b4f6

鉱山: 入力: テスト 出力:098F6BCD4621D373CADE4E832627B4F6

したがって、大文字の差分は1つだけです....

それでも解決しない場合は、正しいデータをハッシュしているかどうかを確認してください。

于 2012-11-04T17:02:04.463 に答える