(Triple DES) DESede/CBC/PKCS5Padding Шифрование и дешифрование в Qt Creator

Я хочу использовать JAVA-логику шифрования и дешифрования в коде qt creator, который я пробовал, и искать много вещей, но успех для "DES/CBC" логики шифрования и дешифрования, но для меня бесполезен, потому что код JAVA находится в "DESede/CBC/PKCS5Padding" Triple DES логика. JAVA CODE выглядит следующим образом:

public static String initializationVector = "abhijeet";   
public static String key="XB13347FE570DC4FFB13647F";    

public String encryptText(String plainText) throws Exception {
    // ---- Use specified 3DES key and IV from other source --------------
    byte[] plaintext = plainText.getBytes();
    byte[] tdesKeyData = Config.key.getBytes();
    // byte[] myIV = initializationVector.getBytes();
    Cipher c3des = Cipher.getInstance("DESede/CBC/PKCS5Padding");
    SecretKeySpec myKey = new SecretKeySpec(tdesKeyData, "DESede");
    IvParameterSpec ivspec = new IvParameterSpec(Config.initializationVector.getBytes());
    c3des.init(Cipher.ENCRYPT_MODE, myKey, ivspec);
    byte[] cipherText = c3des.doFinal(plaintext);
    return new BASE64Encoder().encode(cipherText);
}

public static String decryptText(String cipherText) throws Exception {
    byte[] encData = new BASE64Decoder().decodeBuffer(cipherText);
    Cipher decipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");
    byte[] tdesKeyData = Config.key.getBytes();
    SecretKeySpec myKey = new SecretKeySpec(tdesKeyData, "DESede");
    IvParameterSpec ivspec = new IvParameterSpec(Config.initializationVector.getBytes());
    decipher.init(Cipher.DECRYPT_MODE, myKey, ivspec);
    byte[] plainText = decipher.doFinal(encData);
    return new String(plainText);
}

Пример:

Входная строка - "Hello" после шифрования. Выходная строка - "c13FZpr4odg="

Пожалуйста, помогите так же, как я застрял здесь

0 ответов

Другие вопросы по тегам