как проверить, зашифрован ли входной поток или нет во время дешифрования? - PullRequest
0 голосов
/ 07 августа 2020

У меня есть метод, с помощью которого я получаю входной поток файла, в то время я хочу различать файлы с простым текстом и зашифрованные файлы. Я использовал AES с режимом шифрования ctr

public InputStream getContentInputStream() throws ContentIOException {
    ReadableByteChannel channel = getReadableChannel();
    InputStream is = Channels.newInputStream(channel);
    try {    
        final String ALGORITHM = "AES";
        final String TRANSFORMATION = "AES";
        String key = "C4F9EA21977047D6";
        Key secretKey = new SecretKeySpec(key.getBytes(), ALGORITHM);
        Cipher cipher = Cipher.getInstance(TRANSFORMATION);
        cipher.init(Cipher.DECRYPT_MODE, secretKey);
        byte[] buffer = ByteStreams.toByteArray(is);
        System.out.println("in read" + buffer.length);
        is.read(buffer);
        byte[] outputBytes = cipher.doFinal(buffer);            
        is = new ByteArrayInputStream(outputBytes);
    } catch(Exception e) {
        System.out.println("Exception occured :::"+e);
    }
}
...