private static final String ENCRYPT_HEADER = "%TSD-Header-###%";
private static final int BUFFER_SIZE = 20;
/**
* 校验加密文件
*
* @param bytes
* @return
* @author lc
*/
private static void checkedFile(byte[] bytes) throws Exception {
byte[] buffer = new byte[BUFFER_SIZE];
for (int i = 0; i < bytes.length; i++) {
if (i >= BUFFER_SIZE) {
break;
}
buffer[i] = bytes[i];
}
String fileHeader = new String(buffer);
if (org.apache.commons.lang3.StringUtils.isNotBlank(fileHeader) && fileHeader.trim().startsWith(ENCRYPT_HEADER)) {
throw new CommonException("文件已加密,请解密后上传!");
}
}
public static void main(String[] args) {
try {
File file = new File("C:\\Users\\W\\Downloads\\...pptx");
InputStream inputStream = new FileInputStream(file);
byte[] bytes = IOUtils.toByteArray(inputStream);
checkedFile(bytes);
} catch (Exception e) {
throw new CommonException(e.getMessage());
}
}
判断文件是否加密
最新推荐文章于 2024-08-12 16:25:56 发布