Android 安卓:摆脱“;您的应用程序包含不安全的加密模式”;播放商店警告

Android 安卓:摆脱“;您的应用程序包含不安全的加密模式”;播放商店警告,android,encryption,google-play,Android,Encryption,Google Play,我最近开始收到这样一条Play Store警告:“您的应用程序包含不安全的加密模式”,为了尝试消除它(不知道确切的含义),我在我的应用程序中创建了一个关于加密的“复杂”结构,如下所示: 1) 下一个方法(位于与加密不同的类中,以防万一)将密码首选项存储在两个位置,SharedReferences中的“real”值和AppSettings应用程序类setter中的“default”值(“default”指在无法找到SharedReference时获取SharedReference所需的默认值) 我

我最近开始收到这样一条Play Store警告:“您的应用程序包含不安全的加密模式”,为了尝试消除它(不知道确切的含义),我在我的应用程序中创建了一个关于加密的“复杂”结构,如下所示:

1) 下一个方法(位于与加密不同的类中,以防万一)将密码首选项存储在两个位置,SharedReferences中的“real”值和AppSettings应用程序类setter中的“default”值(“default”指在无法找到SharedReference时获取SharedReference所需的默认值)

我在应用程序启动时设置了这个功能

2) 然后,每当我需要加密时,我都会使用下一种方法:

public static String cipherText(String plainText)
{
    AppSettings appSettings = AppSettings.getInstance();

    Cryptography crypto = new Cryptography();
    String[] defCryptoValues = appSettings.getDefCryptValues();
    String[] cryptoParams = Cryptography.getCryptoParams(defCryptoValues);

    return crypto.encrypt(plainText, cryptoParams);
}
最后,这是真正的加密方法:

private String encrypt(String text, String[] cryptedParams)
{
    checkKeys();

    if (text == null) return null;
    String retVal = null;

    try {
        final SecretKeySpec key = new SecretKeySpec(mCryptKey.getBytes(cryptedParams[2]), cryptedParams[0]);
        final IvParameterSpec iv = new IvParameterSpec(mCryptIV.getBytes(cryptedParams[2]));

        final Cipher cipher = Cipher.getInstance(cryptedParams[1]);
        cipher.init(Cipher.ENCRYPT_MODE, key, iv);

        final byte[] encrypted = cipher.doFinal(text.getBytes(cryptedParams[2]));
        retVal = new String(encodeHex(encrypted));
    } catch (Exception e) {
        e.printStackTrace();
    }

    return retVal;
}
我不太清楚这个警告,我想我和加密参数有关

"CRYPT_ALGORITHM", "AES"
"PADDING", "AES/CBC/PKCS5Padding"
"CHAR_ENCODING", "UTF-8"

作为密码学课程中的纯文本,所以我创造了所有关于“隐藏”它们的想法,并认为它可以帮助我摆脱它,但它没有。我最近上传了一个新版本的应用程序,但警告仍然存在,我不知道该怎么办。

你找到解决方案了吗?您好@Jinson Paul。还没有,我真的希望如此,因为我不喜欢在我的play store控制台中看到警告。@JinsonPaul你解决问题了吗issue@ManishNegi不,警告还在那里,
"CRYPT_ALGORITHM", "AES"
"PADDING", "AES/CBC/PKCS5Padding"
"CHAR_ENCODING", "UTF-8"