2013-11-04 84 views
0

我想使用SHA512算法在Android中使用私钥和公钥来加密和解密Web服务(KSOAP或JSON)的请求和响应。如何使用SHA512算法对请求和响应进行加密和解密

有没有人有这方面的想法。我对此没有太多经验。所以请原谅我,如果我错了。

我想下面的类用于加密一个字符串。我想知道如何解密字符串。而且我想知道如何在此使用私钥/公钥。

公共类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()); 

} 

}

在此先感谢。

回答

0

Sha512是一种哈希算法。散列后,您无法对回应进行散列处理。这就是哈希的用途。

RSA或AES是你可能要找的。您可能需要考虑的其他事项是使用SSL的传输级安全性。

2

Sha512是一个散列,而不是一个加密。你无法用它加密任何东西。使用类似RSA或椭圆曲线。

相关问题