相关网站 : http://www.cnblogs.com/mofish/archive/2010/11/26/1889126.html
public class AddSec {
public static void main(String[] args){
String addSecStr = getAddSecFileStr("E:\\lml\\原文件.txt"); // 获得加密后字符串
getFile(addSecStr, "E:\\lml\\加密后的文件.txt"); //加密后文件
String fileStr=getFileStr("E:\\lml\\加密后的文件.txt");
releaseFile(fileStr, "E:\\lml\\还原文件.txt"); //解密后的文件
}
/**
* 将文件转化为字节数组字符串,并对其进行Base64编码处理
*
* @param imgFilePath
* 文件路径
* @return
*/
public static String getAddSecFileStr(String imgFilePath) {
byte[] data = null;
// 读取文件字节数组
try {
InputStream in = new FileInputStream(imgFilePath);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
byte[] bytes = UrlBase64.encode(data);
return new String(bytes);
}
/**
* 将文件转化为字节数组字符串
*
* @param imgFilePath
* 文件路径
* @return
*/
public static String getFileStr(String imgFilePath) {
byte[] data = null;
// 读取字节数组
try {
InputStream in = new FileInputStream(imgFilePath);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return new String(data);
}
/**
* 对字节数组字符串进行Base64解码并生成文件
*
* @param imgStr
* 加密的字符串
* @param imgFilePath
* 解密后的文件路径
* @return
*/
public static boolean releaseFile(String imgStr, String imgFilePath) {
if (imgStr == null) // 文件数据为空
return false;
try {
// Base64解码
byte[] bytes = UrlBase64.decode(imgStr.getBytes());
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {// 调整异常数据
bytes[i] += 256;
}
}
OutputStream out = new FileOutputStream(imgFilePath);
out.write(bytes);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
/**
* 根据字节数组字符串生成文件
*
* @param imgStr
* 加密后的文件字符串
* @param imgFilePath
* 加密后的文件路径
* @return
*/
public static boolean getFile(String imgStr, String imgFilePath) {
if (imgStr == null) // 文件数据为空
return false;
try {
byte[] bytes = imgStr.getBytes();
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {// 调整异常数据
bytes[i] += 256;
}
}
// 生成文件
OutputStream out = new FileOutputStream(imgFilePath);
out.write(bytes);
out.flush();
out.close();
return true;
} catch (Exception e) {
return false;
}
}
}
分享到:
相关推荐
标题中的"pb9_base64_pb调用base64.dll_PB9base64_Base64.dll_glass8y6_pbbase64"涉及到的是PowerBuilder 9(简称PB9)中关于Base64编码的实现。Base64是一种用于在网络上传输二进制数据的编码方式,它将二进制数据...
【标题】"sun的BASE64Decoder"是一个与编码解码相关的工具,源自sun公司,主要用于处理BASE64编码的数据。BASE64是一种常见的数据编码方式,尤其在互联网通信、文件传输以及电子邮件中广泛使用。它将二进制数据转换...
例如,“去脚本之家看看.url”可能指向一个提供Java编程教程或Base64相关资料的网站,而“服务器软件.url”可能链接到服务器管理或相关的开发工具站点。这些链接可以作为进一步学习和参考的资源。 在实际开发中,...
此外,`jb51.net.txt`可能是一个关于该项目的使用说明或开发参考资料,而`.url`文件通常是书签,指向“脚本之家”和“服务器软件”的网站,可能提供与PHP编程、Web开发相关的更多资源和教程。 使用Base64编码的好处...
而"李嘉的科研站.url"则可能是一个网站链接,可能指向了与Base64或者其他相关IT知识有关的资源,可以访问获取更多的学习资料。 总的来说,了解和掌握JavaScript中的Base64加密解密是Web开发中的一项基本技能,尤其...
这提示了学习C# Base64编码和解码不仅限于本文介绍的内容,而是可以通过阅读更多资料来进一步拓展和深化知识。 总体而言,本文详细介绍了如何在C#中利用.NET框架的功能进行Base64编码和解码操作,包括必要的命名...
综上所述,本文不仅介绍了Base64编码的基本知识和使用CryptoJS进行Base64加密的方法,还提供了相关在线工具和JavaScript加密解密方面的专题资料,是一篇对JavaScript数据安全处理有指导意义的文章。通过理解本文内容...
这个"code_java.rar_base64_chosehhs_javamail_下载_表单"压缩包文件聚焦于Java Web开发中的几个核心知识点:Base64编码、文件上传与下载的实现以及JavaMail的使用。以下将详细介绍这些内容。 首先,Base64是一种...
开发者可以通过查看源代码,了解其实现细节,学习如何将Base64图像数据与Azure Blob存储服务集成,这对于熟悉JavaScript和云存储的开发者来说是一份宝贵的参考资料。 总的来说,冷茶-img项目提供了一个有效的解决...
基于Base64,MD5,SHA,Hmac,DES,AES,RSA信息加密的设计与实现的Android应用。源码+文档+全部资料+高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码...
### OceanBase企业版v3部署相关知识点 #### 一、硬件配置要求 针对**OceanBase企业版v3**的部署,官方提供了明确的最低硬件配置要求。这些要求旨在确保系统的稳定运行,避免因资源不足而引发的问题。 1. **OCP...
由于手机端的特性,用户可能通过拍摄照片或者从相册选择图片,因此支持base64编码的上传方式至关重要。base64是一种将二进制数据转换为可打印字符的方式,便于在网络中传输。当用户选择图片后,可以将其转化为base64...
"MD5andBase64-master"可能是一个GitHub项目的主分支,其中包含了源代码、文档、测试用例等相关资料。这些资源对于开发者来说非常有用,他们可以直接引入到自己的项目中,方便地进行MD5哈希计算和Base64编码解码。 ...
在“Base64&RSA资料”这个压缩包中,可能包含有以下内容: 1. 关于Base64编码的基本原理和实现方式的文档。 2. RSA算法的详细描述,包括数学基础、加密解密过程和安全性分析。 3. RSA密钥生成和管理的指导,如如何...
标题中的"yourbase-7.1.2a3-py37-none-macosx_11_0_arm64.whl"是一个Python库的发行版本...由于没有具体的功能描述,要了解其用途,需要进一步查询相关资料。在Python开发中,利用这样的库可以提高效率,简化工作流程。
通过查阅资料,历经7个工作日进行调试,并和算法打交道,非常辛苦地完成了Base64,MD5,AES,RSA等算法的编写!入门如需Flutter入门的帮助,请在线查看我们的信息-稳定频道包含最稳定的Flutter构建。 有关详细信息,...
以下是对QGC及其相关知识点的详细解释: 1. **QGroundControl概述**:QGroundControl是基于Qt和OpenGL开发的,支持多种操作系统,如Windows、Mac OS、Linux和Android。它提供了全面的无人机控制功能,包括实时遥测...
文档详细阐述了PCIe 4.0的所有核心组成部分,对于硬件开发者、系统架构师和相关领域的技术人员来说,是理解这一技术不可或缺的参考资料。 总之,PCIe 4.0标志着计算机内部通信的重大进步,其高带宽和低延迟特性极大...
本着学习的态度,想了解创建 Docker Base Image的方法,在官网,在百度,在相关论坛,查找相关资料,这里记录下实现的步骤, 一. 环境 宿主机操作系统: OS X ,需要安装VirtualBox ; 容器环境:centos7 二. 用...
MIPS64® 架构为程序员提供了一份详尽的指南,旨在帮助开发者更好地理解并应用MIPS64架构的相关知识。本文档将深入探讨MIPS64架构的基础概念、指令集特性以及程序设计方法等关键知识点。 #### MIPS64架构简介 MIPS...