0

Android の秘密鍵と公開鍵を使用してSHA512アルゴリズムを使用して、Web サービス (KSOAP または JSON) の要求と応答を暗号化および復号化したいと考えています。

誰もこれについて考えを持っていますか。私はこれについてあまり経験がありません。ですので、間違っていたらご容赦ください。

以下のクラスが文字列の暗号化に使用されていると思います。文字列を復号化する方法を知りたいです。また、これで秘密鍵/公開鍵を使用する方法を知りたいです。

公開クラス SHA2Demo {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    String message = "test";

    MessageDigest messageDigest = null;
    try {
        messageDigest = MessageDigest.getInstance("SHA-512");
    } catch (NoSuchAlgorithmException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    try {
        messageDigest.update(message.getBytes("UTF-16BE"));
    } catch (UnsupportedEncodingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    byte[] digest = messageDigest.digest();

    StringBuffer digestInHex = new StringBuffer();

    for (int i = 0, l = digest.length; i < l; i++) {
        // Preserve the bit representation when casting to integer.
        int intRep = digest[i] & 0xFF;
        // Add leading zero if value is less than 0x10.
        if (intRep < 0x10)  digestInHex.append('\u0030');
        // Convert value to hex.
        digestInHex.append(Integer.toHexString(intRep));
    }

    System.out.println(digestInHex.toString());

}

}

前もって感謝します。

4

2 に答える 2

2

Sha512 はハッシュであり、暗号化ではありません。それを使って何かを暗号化することはできません。RSA や楕円曲線などを使用します。

于 2013-11-04T13:11:36.560 に答える
0

Sha512 はハッシュ アルゴリズムです。ハッシュされた応答をデハッシュすることはできません。それがハッシュの目的です。

RSA または AES は、探しているものです。他に考慮すべきことは、SSL を使用したトランスポート レベルのセキュリティです。

于 2013-11-04T13:13:01.740 に答える