加密&解密算法

时间:2013-07-23 09:01:31

标签: android algorithm encryption java-me

我正在开发移动产品。我们正在使用xml document中的数据。为了保证我们的数据安全,我们需要加密算法(但我们不希望导入现有算法)

你可以给我一些加密数据的步骤。(如果代码示例最受欢迎)。

3 个答案:

答案 0 :(得分:2)

为了更安全,您必须使用自己的密钥。尝试使用此代码

   KeyStore ks = KeyStore.getInstance();
 // get the names of all keys created by our app
 String[] keyNames = ks.saw("");

 // store a symmetric key in the keystore
 SecretKey key = Crypto.generateKey();
 boolean success = ks.put("secretKey1", key.getEncoded());
 // check if operation succeeded and get error code if not
 if (!success) {
    int errorCode = ks.getLastError();
    throw new RuntimeException("Keystore error: " + errorCode); 
 }

 // get a key from the keystore
 byte[] keyBytes = ks.get("secretKey1");
 SecretKey key = new SecretKeySpec(keyBytes, "AES");

 // delete a key
 boolean success = ks.delete("secretKey1");

答案 1 :(得分:1)

如果您想开发自己的加密方案,请准备开始研究项目。您可以使用任何标准加密算法,如AES / DES等,您的私钥足够长且难以破解。

答案 2 :(得分:0)

public string PassEncrypt(string Password)
{
    // Encrypting the password entered by User
    // ======================================================
    MD5 md5 = new MD5CryptoServiceProvider();
    md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(Password));
    byte[] result = md5.Hash;
    StringBuilder strBuilder = new StringBuilder();
    for (int i = 0; i < result.Length; i++)
    {
        strBuilder.Append(result[i].ToString("x2"));
    }
    return strBuilder.ToString();
    // ======================================================
}

或者

您可以参考以下链接:

developer.motorala.com

codereview.stackexchange.com

android snippets

java-tips.org