AES文件加密解密并保存到MongoDb数据库
文件加密
@Override
public ResultBean<File> encrypt(String gridFsId, String key) {
ResultBean.ResultBeanBuilder<File> resultBeanBuilder = ResultBean.builder();
File file = fileRepository.findByGridFsIdAndDeleteFlag(gridFsId,"0");
try {
GridFSFile gridFSFile = gridFsDao.find(gridFsId);
MongoDatabase db = mongoTemplate.getDb();
//打开下载流对象
GridFSDownloadStream gridFSDownloadStream =
GridFSBuckets.create(db).openDownloadStream(gridFSFile.getObjectId());
//创建gridFsResource,用于获取流对象
GridFsResource gridFsResource = new GridFsResource(gridFSFile, gridFSDownloadStream);
InputStream inputStream;
inputStream = gridFsResource.getInputStream();
KeyGenerator kgen = KeyGenerator.getInstance("AES");// 创建AES的Key生产者
SecureRandom random=SecureRandom.getInstance("SHA1PRNG");