05
Июн
2017

java, расшифровка данных

Есть класс шифрования/дешифрования строки.

функция шифрования:

public static String DESEncrypt(String datasource, String password) {
    String result = datasource;
    if (datasource != null) {
        try {
            if (!datasource.isEmpty()) {
                SecretKey securekey = SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec(password.substring(0, 8).getBytes(Hex.DEFAULT_CHARSET_NAME)));
                AlgorithmParameterSpec iv = new IvParameterSpec(ivkey);
                Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
                cipher.init(1, securekey, iv);
                result = Base64.encodeToString(cipher.doFinal(datasource.getBytes(Hex.DEFAULT_CHARSET_NAME)), 0);
            }
        } catch (Throwable e) {
            Log.i("@error", e.getMessage());
        }
    }
    return result;
}

функция дешифрования:

public static String DESDecrypt(String src, String password) {
    String result = src;
    if (src == null) {
        return result;
    }

    if (src.isEmpty()) {
        return result;
    }

    byte[] item = password.substring(0, 8).getBytes();
    try {
        DESKeySpec item2 = new DESKeySpec(item);
        SecretKey securekey = SecretKeyFactory.getInstance("DES").generateSecret(item2);
    } catch (InvalidKeyException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
    }

    return password.substring(0, 8);
    /*AlgorithmParameterSpec iv = new IvParameterSpec(ivkey);
      Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
      cipher.init(2, securekey, iv);
      return new String(cipher.doFinal(Base64.getDecoder().decode(src)));*/        
}

интересует меня функция дешифрования, при ее запуске я вижу ошибку на строке

SecretKey securekey = SecretKeyFactory.getInstance("DES").generateSecret(item2);

господа знатоки, подскажите, что я делаю не правильно?

я специалист в области php,mysql.

Источник: https://ru.stackoverflow.com/questions/675463/java-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

Share

Тебе может это понравится...