`

图片Base64位加密解密算法

    博客分类:
  • j2se
阅读更多
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Base64Utill {
	public static void main(String[] args) {
		String strImg = GetImageStr();
		GenerateImage(strImg);
	}

	public static String GetImageStr() {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
		String imgFile = "d:\\111.jpg";// 待处理的图片
		InputStream in = null;
		byte[] data = null;
		// 读取图片字节数组
		try {
			in = new FileInputStream(imgFile);
			data = new byte[in.available()];
			in.read(data);
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		// 对字节数组Base64编码
		BASE64Encoder encoder = new BASE64Encoder();
		return encoder.encode(data);// 返回Base64编码过的字节数组字符串
	}

	public static boolean GenerateImage(String imgStr) {// 对字节数组字符串进行Base64解码并生成图片
		if (imgStr == null) // 图像数据为空
			return false;
		BASE64Decoder decoder = new BASE64Decoder();
		try {
			// Base64解码
			byte[] b = decoder.decodeBuffer(imgStr);
			for (int i = 0; i < b.length; ++i) {
				if (b[i] < 0) {// 调整异常数据
					b[i] += 256;
				}
			}
			// 生成jpeg图片
			String imgFilePath = "d:\\222.jpg";// 新生成的图片
			OutputStream out = new FileOutputStream(imgFilePath);
			out.write(b);
			out.flush();
			out.close();
			return true;
		} catch (Exception e) {
			return false;
		}
	}
}

 

分享到:
评论

相关推荐

    c++实现base64算法加密解密

    c++实现base64算法加密解密,不需要修改,直接运行即可

    Base64加密解密java/js

    参照网上Base64 js加密解密写的java实现,网上没看到出现过,可能大神都不屑写这种小东东,只好自己写了。弄了好几天,总算弄好了。 因为是参照 js Base64写的java实现,所以代码可实现前台js,后台java的加密,...

    (VS2010 C++)基于RC4和Base64的加解密算法实现,可用于项目开发

    RC4和Base64是两种在信息安全领域广泛应用的加密与编码技术。在本文中,我们将深入探讨这两种技术以及如何在Visual Studio 2010环境下使用C++进行实现。 首先,RC4是一种流式加密算法,由Ron Rivest在1987年设计。...

    Base64 加密 解密 算法及源码

    解密(解码)过程则相反,首先,Base64字符串被分割成4个字符一组,然后将每个字符转换回6位的二进制数,再将这些6位的二进制数组合在一起,形成24位的二进制数据。最后,根据24位的二进制数据长度,将其分割成原始...

    sqlserver2005的base64加密解密函数

    总结,虽然SQL Server 2005本身并不提供内置的Base64加密解密功能,但通过创建自定义函数,我们可以实现类似的功能。需要注意的是,上述函数仅适用于简单场景,对于更复杂的需求,可能需要更完善的Base64编码解码...

    微信小程序 AES ECB base64 加密解密

    在微信小程序中实现AES ECB Base64加密解密,你需要以下步骤: 1. 引入加密库:微信小程序提供了`wx.request`方法来调用外部API,你可以引入第三方加密库,如`crypto-js`,通过npm安装后将其添加到项目中。 2. ...

    Delphi源码,算法相关,base64,加密,解密

    Delphi源码,算法相关,base64,加密,解密 Delphi base64 加密,解密示例源代码,这是个很常用但很流行的一种加密、解密算法,做过快车下载的朋友就知道,快车的下载链就是基于此种加密方法,除了加密网址外,它还可...

    3DES+Base64加密解密算法

    在iOS中实现3DES+Base64加密解密,可以使用CommonCrypto库,该库提供了低级别的加密操作接口。开发者需要自己编写代码来实现密钥的生成、数据的分组以及3DES的加密解密过程,并结合Base64编码解码函数。 需要注意的...

    android工具类:基于javaBase64的加密解密工具类

    本文将详细介绍一个基于Java Base64的Android加密解密工具类,该工具类支持公钥加密和私钥解密,具有高度的解耦性,方便集成到项目中。 一、Base64加密解密基础 Base64是一种编码方式,它将任意二进制数据转换为可...

    base64加密和解密算法完整事例代码

    本篇文章将深入探讨Base64加密与解密算法,并通过具体代码实例进行详细讲解。 Base64的原理基于ASCII字符集,它将每3个字节(24位)的数据分为4组,每组6位。由于6位无法直接对应ASCII字符,Base64采用了64个字符的...

    VB实现DES加密解密算法,vb加密和解密,VBA

    DES算法需要一个64位的密钥,但只有56位真正参与加密,剩下的8位用于奇偶校验。同时,IV用于初始块加密状态,确保每次加密的随机性。 - 创建MemoryStream和CryptoStream对象,用于数据的输入输出。 - 使用...

    c(c++)300多种加密解密算法

    此资源加密方式包括 MD2, MD5, SHA-1, HAVAL, Tiger, RIPE-MD160, MD5-MAC, HMAC, XOR-... Rabin'sinformation dispersal scheme.There are also various miscellanous modules such as base 64 coding and 32-bit CRC.

    Base64 加密解密小工具

    下面,我们将深入探讨Base64加密解密的基本原理、用途以及如何使用工具进行操作。 1. Base64的基本原理 Base64是基于64个可打印字符来表示二进制数据的编码方法。这64个字符包括大小写字母(A-Z, a-z)、数字(0-9...

    js的base64加密解密

    在这个场景中,我们讨论的是一个纯JavaScript实现的Base64加密解密工具类,它无需依赖其他外部JavaScript库,因此非常适合在各种环境中使用,特别是对于那些对文件大小和加载速度有严格要求的项目。 Base64加密,也...

    java密码加密解密算法代码实现

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。 Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,...

    c# 可逆 加密 解密算法

    ### C# 可逆加密解密算法解析 #### 一、引言 在现代软件开发中,数据安全显得尤为重要。为了保护敏感数据不被非法访问或窃取,开发者需要使用各种加密技术对数据进行处理。C#作为一种广泛使用的编程语言,在.NET...

    Base64 个性化加密解密功能VB源码

    在提供的“Base64 个性化加密解密功能VB源码”压缩包中,可能包含了上述讨论的实现,包括基本的Base64编码和解码,以及可能的个性化加密和解密算法。你可以通过查看源代码来学习和理解其具体实现细节,以便在自己的...

    C#实现AES加密解密算法

    ### C# 实现 AES 加密解密算法 #### 概述 在计算机科学与信息安全领域,数据加密技术是一项至关重要的技术。AES(Advanced Encryption Standard,高级加密标准)是一种广泛使用的对称加密算法,用于保护敏感数据的...

    AES加密解密算法 iOS和Android完美实现

    本篇文章将详细探讨AES加密解密算法在iOS和Android平台上的实现原理以及具体步骤。 首先,AES算法基于块密码,它的工作模式有ECB(电子密码本)、CBC(密文链接)、CFB(密文反馈)、OFB(输出反馈)和CTR(计数器...

    用Java实现BASE64加密解密

    总之,Java提供了方便的`java.util.Base64`工具类来处理Base64编码和解码,使得在Java项目中实现Base64加密解密变得简单且高效。这个基础的加密解密机制虽然简单,但在很多场景下已经足够满足基本的数据保护需求。

Global site tag (gtag.js) - Google Analytics