java中Base64图片加密解密保存

article/2025/9/15 7:10:53

工具类中的图片解密的代码

/*** base64字符串转图片* @param imgStr 图片的base64* @param path  将要生成的地址* @return*/
public static String generateImage(String imgStr, String path) {//如果图像数据为空 if (imgStr == null) {return null;}BASE64Decoder decoder = new BASE64Decoder();try {//解密byte[] b = decoder.decodeBuffer(imgStr);//处理数据for (int i = 0; i < b.length; ++i) {if (b[i] < 0) {b[i] += 256;}}//图片名称String fileName= CommonUtil.paserDateToStr(new Date(), "yyyyMMddHHmmss")+".jpg";File image = new File(path+fileName);if (!image.exists()) {image.getParentFile().mkdir();}OutputStream out = new FileOutputStream(path+fileName);out.write(b);out.flush();out.close();//返回图片地址+名称,方便存入数据库中return (path+fileName);} catch (IOException e) {e.printStackTrace();return null;}
}

application.properties文件中静态资源配置(我的项目是Springboot)

##      
web.img-path=D:/image/
web.thumbnail-file=thumbnail
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${web.img-path}

Controller控制层引入配置文件中静态资源路径

@Value("${web.img-path}")
private String imgPath;// 调用工具类中图片解码方法,传入需要解码成图片的字符串以及图片保存地址,进行解码保存
String picaddress = CommonUtil.generateImage("imgStr",imgPath));

然后就完成了,因为我所传的值不是Base64图片加密后的字符串,所以图片打不开在这里插入图片描述

这里是图片加密的代码

/*** 图片转base64字符串* @param imgFile 图片路径* @return*/public static String imageToBase64Str(String imgFile) {InputStream inputStream = null;byte[] data = null;try {inputStream = new FileInputStream(imgFile);data = new byte[inputStream.available()];inputStream.read(data);inputStream.close();} catch (IOException e) {e.printStackTrace();}// 加密BASE64Encoder encoder = new BASE64Encoder();return encoder.encode(data);} 

我暂时还没用到图片加密,所以并不知道这段代码是否绝对正确

PS:如果你的Eclipse中无法直接使用Base64Encoder:

1.右键项目——》Build Path ——》Configure Build Path

2.选择Libraries,点击JRE System Library,选择 Access rules,之前没有定义的话,就会显示No rules defined

3.选中Access rules,点击Edit ——》Add,然后点击Ok

4.在Resolution下拉列表框中选择Accessible,Rule Pattern 选择**,依次点击ok

问题解决。此时你的Eclipse中就能使用Base64Encoder啦


http://chatgpt.dhexx.cn/article/OWJxYEoS.shtml

相关文章

PC微信机器人之实战分析微信图片加密解密

今天主要讨论下微信图片的加密和解密&#xff0c;我们都知道微信接收的图片是加密形式的需要解密&#xff0c;但是这个加密大家都知道是异或。但是怎么异或&#xff0c;跟谁异或呢&#xff1f;这次就是围绕这个来讲的&#xff0c;我们手动计算异或的值&#xff0c;才能彻底明白…

混沌加密算法python_基于混沌Logistic加密算法的图片加密与还原

摘要 一种基于混沌Logistic加密算法的图片加密与还原的方法,并利用Lena图和Baboon图来验证这种加密算法的加密效果。为了能够体现该算法在图片信息加密的效果,本文还采用了普通行列置乱加密算法和像素点的RGB的值的缩放算法这两种算法对相同的图片的图片进行处理,利用matlab…

关于身份证图片加密安全技术

前言 现在的图片都是上传到c d n或者其它第三方服务器上&#xff0c;通过一个url进行访问&#xff0c;非常的方便&#xff0c;方便的同时也带来了另外一个问题&#xff0c;隐私安全问题&#xff0c;比如&#xff1a;好莱坞隐私照片泄漏。 如何保证图片安全 如果发生客户隐私…

blob图片路径加密

目录 一、代码二、效果演示 一、代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>blob图片路径加…

Cocos图片加密与解密

如果cocos项目没有对资源进行加密处理,发布出来的APK一旦被人解包&#xff0c;则所有图片资源都会暴露出来,为了避免图片资源被人恶意使用&#xff0c;所以我准备给自己项目中使用到的图片进行简单加密&#xff0c;这样可以防住一部分解包伸手党。 我们这里采用最常见的异或加…

(在线)实时图片加密

目录 1 功能介绍 2 操作说明 2.1 图片加密 2.1 图片解密 1 功能介绍 图片加密http://eastsun.xyz/sudoku/html/encryptPic.html 该网站主要用于对图片进行在线实时加密,解密 用户可以自定义加密后生成的"文字图片"内容,同时这些文字图片也可以是图片解密的提示信…

python简单的图片加密

欢迎加入我们卧虎藏龙的python讨论qq群&#xff1a;729683466 ●导 语 ● 总有些东西是你不希望别人看到的 比如 你暗恋的女神的照片 要是被别人发现了 那可就尴尬了 所以 来学一学用python加密图片吧&#xff01; 代码及相关资源获取 1&#xff1a;关注“python趣味爱好者”公…

java 图片加密

首先&#xff0c;了解下异或操作 ^ &#xff0c;对一个数进行两次异或操作得到原数值。 public class IOTest {public static void main(String[] args) {int i 3;System.out.println(i^123);//120System.out.println(i^123^123);//3}} 将一张图片进行拷贝&#xff0c;对其进…

用JS实现:图片压缩、图片加密

本文将用JavaScript实现两个颇有技术含量的功能&#xff1a;图片压缩、图片加密。 最终效果&#xff1a;可实现将任意图片加密、压缩&#xff0c;并保存到一个独立的html页面中&#xff0c;输入正确的密码&#xff0c;才能看到原图。 第一步、压缩图片 技术原理 将图片读入c…

python图片水印加密的几种处理方式

常见的图片加密方法包括加密算法、水印、隐藏、压缩等。下面简要介绍一些常见的图片加密方法&#xff1a; 加密算法 加密算法是一种基于数学运算的加密方式&#xff0c;可对图片进行加密处理&#xff0c;使得未经过解密操作的情况下难以被直接读取或显示。常见的加密算法包括对…

去除水印-Teorex Inpaint 序列号

Teorex Inpaint 正版序列号 效果很好&#xff01; 如图所示 序列号在下面&#xff1b; 上面就是 正版的效果&#xff1b; 所以 大家好评 我心领了 记得关注&#xff01; 好福利一堆呢&#xff01; 回复“水印” 知识星球也要加入哦&#xff01; 加粗样式 加入的好朋友…

Inpaint 5.2安装说明

##一&#xff0e;软件简介&#xff1a; Inpaint 是一款可以从图片上去除不必要的物体&#xff0c;让您轻松摆脱照片上的水印、划痕、污渍、标志等瑕疵的实用型软件&#xff1b;简单说来&#xff0c;Inpaint 就是一款强大实用的图片去水印软件&#xff0c;您的图片中不想要的部分…

图片去水印工具:Inpaint 7.2中文专业破解版下载及使用方法

下载地址&#xff1a; 点我 Inpaint 是一款可以从图片上去除不必要的物体&#xff0c;让您轻松摆脱照片上的水印、划痕、污渍、标志等瑕疵的实用型软件&#xff1b;简单说来&#xff0c;Inpaint 就是一款强大实用的图片去水印软件&#xff0c;您的图片中不想要的部分&#xff0…

snipaste使用教程介绍

snipaste是一个简单但强大的截图工具&#xff0c;但是很多用户下载之后都不知道怎么用&#xff1f;今天小编带来的内容就是snipaste使用方法教程。 Win10纯净版_Win10 64位纯净版_Win10纯净精简版系统下载-系统部落 1、打开Snipaste首选&#xff0c;切换到常规&#xff0c;勾…

截图工具Snipaste

提示&#xff1a;今天介绍一个好用的截图工具 Snipaste介绍 软件名/版本&#xff1a; Snipaste-2.7.3-Beta-x64 Snipaste介绍&#xff1a;这里只谈一下我的使用感受吧&#xff0c;Snipaste有我们常用的截图样式&#xff0c;它有个好用的粘贴方式就是随意粘贴不影响你其它的操…

SQL SERVER Sequence Number 序列号

SequenceNumber是SQL Server2012推出的一个 新特性。这个特性允许数据库级别的序列号在多表或 多列之间共享。对于某些场景会非常有用&#xff0c;比如&#xff0c;你 需要在多个表之间公用一个流水号。以往的做法是额 外建立一个表&#xff0c;然后存储流水号。而新插入的流水…

Snipaste介绍、安装、使用技巧(截图贴图工具)

一、简介 Snipaste 是一个简单但强大的截图贴图工具&#xff0c;也可以让你将截图贴回到屏幕上&#xff01;下载并打开 Snipaste&#xff0c;按下 F1 来开始截图&#xff0c;再按 F3&#xff0c;截图就在桌面置顶显示了。就这么简单&#xff01; 你还可以将剪贴板里的文字…

iMindMap汉化免费下载序列号

iMindMap 是思维导图创始人托尼巴赞&#xff08;Tony Buzan&#xff09;开发的思维导图软件&#xff0c;线条自由&#xff0c;具有手绘功能。它结合独特的自由形态头脑风暴视图模式和系统的思维导图视图模式&#xff0c;特别适用于头脑风暴、策划和管理项目、创建演示文稿等。思…

【综合】简单加解密——寻找序列号

【综合】简单加解密——寻找序列号 下面文字对你可能有用(复制粘贴): #include <stdlib.h> #include <string.h> #include “malloc.h” #define MaxPass 66 // 最多66段密文 #define NumbPwdTable 5 // 密码表的份数 #define SizePwdTable 0x210 // 每份密码表占…

Inpaint破解版 - 图片去水印神器

Inpaint是一款强大实用的图片去水印软件&#xff0c;您的图片中不想要的部分&#xff0c;如额外的线&#xff0c;人物&#xff0c;文字等……选定后补绘都会帮你全自动进行擦除&#xff0c;同时补绘会根据附近图片区域重建擦除的区域&#xff0c;使看起来完美无暇&#xff0c;没…