我的编程空间,编程开发者的网络收藏夹
学习永远不晚

用java给文件加密的简单实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

用java给文件加密的简单实现

思路:文件加密,简单来说就是把文件读取出来,把读取出来的字节码数组进行遍历,把每一个码值和一个秘钥(随便一个数)进行异或运算,将运算后的结果全部写入到文件里。因为文件的码值全都做了改变,文件自然就无法打开了,这是加密过程。解密过程就是再执行一次,因为数字对另一个数进行两次异或运算等于数字本身。再异或一次码值就恢复原样了,文件自然也就可以恢复原样。

文件加密

import java.io.*;import java.util.ArrayList;import java.util.List;public class FileEncrypt {    public static void main(String[] args) throws IOException {        // 需要加密/解密的文件路径        String inputPath = "out.txt";        // 加密/解密后的文件路径        String outPath = "input.txt";        // 用于存储文件字节码的集合数组        List<Byte> byteList = new ArrayList<>();        // 秘钥        Byte key = 17;        // 读取文件        readFile(inputPath, byteList);        // 加密/解密        encryption(byteList, key);        // 生成加密/解密后的文件        writeText(byteList, outPath);    }        public static void readFile(String inputPath, List<Byte> byteList) throws IOException {        BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inputPath));        byte[] bytes = new byte[1024];        int len;        while ((len = bis.read(bytes)) != -1) {            for (int i = 0; i < len; i++) {                byteList.add(bytes[i]);            }        }        bis.close();    }        public static void encryption(List<Byte> byteList, byte key) {        for (int i = 0; i < byteList.size(); i++) {            Byte aByte = byteList.get(i);            // 把集合中的字节码与秘钥或运算            Byte enNum = (byte) (aByte ^ key);            // 把加密后的数替换原集合中的数            byteList.set(i, enNum);        }    }        public static void writeText(List<Byte> byteList, String outPath) throws IOException {        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(outPath));        byte[] tempByte = new byte[byteList.size()];        for (int i = 0; i < byteList.size(); i++) {            tempByte[i] = byteList.get(i);        }        bos.write(tempByte);        bos.close();    }}

input.txt文件内容
在这里插入图片描述
将input的内容加密后,写入out.txt中
在这里插入图片描述

文件解密

在这里插入图片描述
在这里插入图片描述

总结

这就是对文件内容加密的简单实现,这里的文件可以换成图片或者其他类型的文件,都可以。另外,完全可以把inputPath和outPath设置成一样,这样就不会产生新文件了,运行一次文件加密,再运行一次,文件解密,非常方便。

来源地址:https://blog.csdn.net/qq_42108331/article/details/130716429

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

用java给文件加密的简单实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

用java给文件加密的简单实现

思路:文件加密,简单来说就是把文件读取出来,把读取出来的字节码数组进行遍历,把每一个码值和一个秘钥(随便一个数)进行异或运算,将运算后的结果全部写入到文件里。因为文件的码值全都做了改变,文件自然就无法打开了,这是加密过程。解密过程就是再执行
用java给文件加密的简单实现
2023-12-23

C#实现简单的文件加密与解密方式

这篇文章主要介绍了C#实现简单的文件加密与解密方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-28

Java AES加密解密的简单实现方法

废话不多说,直接上代码package com.mstf.aes; import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;im
2023-05-31

Python编程之如何实现简单加密的文件

本篇内容介绍了“Python编程之如何实现简单加密的文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实例1:如果我知道某个账户的密码一定是
2023-06-15

java 实现MD5加密算法的简单实例

java 实现MD5加密算法的简单实例实现代码:import java.security.NoSuchAlgorithmException; public class MD5HashUtil { private MessageDig
2023-05-31

Java IO--实现文件的加密解密

我们知道文件存储的方式在计算机当中是以字节的方式进行存储的,可以通过对文件字节的操作来实现文件的加密。下面的例子是通过读
Java IO--实现文件的加密解密
2021-03-16

Node.js DES加密的简单实现

常见的加密算法基本分为这几类,1 :线性散列算法、2:对称性加密算法、3、非对称性加密算法 (记记记) 线性散列算法(签名算法):MD5,SHA1,HMAC 比如MD5:即Message-Digest Algorithm 5(信息-摘要算法
2022-06-04

Android数据加密之Rsa加密的简单实现

最近无意中和同事交流数据安全传输的问题,想起自己曾经使用过的Rsa非对称加密算法,闲下来总结一下。 什么是Rsa加密? RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥。RSA是第一个既能用于数据加密也能用于数字签名的算法。 RSA
2022-06-06

Android实现简单MD5加密的方法

本文实例讲述了Android实现简单MD5加密的方法。分享给大家供大家参考,具体如下: 网上关于android下MD5加密的资料很多,但是测试了下总是跟网站的md5加密不一样, 后来才知道是编码方式不对,于是就自己写了一个。private
2022-06-06

Java如何实现Excel文件加密解密

本文小编为大家详细介绍“Java如何实现Excel文件加密解密”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现Excel文件加密解密”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概述设置excel
2023-06-30

java怎么实现rsa加密解密文件

要在Java中实现RSA加密和解密文件,可以使用Java Cryptography Architecture(JCA)提供的RSA算法。以下是一个简单的示例代码,用于加密和解密文件。导入必要的类和包:import java.io.File
2023-10-26

Java实现文件的加密解密功能示例

本文实例讲述了Java实现文件的加密解密功能分享给大家供大家参考,具体如下:package com.copy.encrypt;import java.io.File;import java.io.FileInputStream;import
2023-05-31

Python实现的文本简单可逆加密算法示例

本文实例讲述了Python实现的文本简单可逆加密算法。分享给大家供大家参考,具体如下: 其实很简单,就是把一段文本每个字符都通过某种方式改变(比如加1) 这样就实现了文本的加密操作,解密就是其逆运算# -*-coding:utf-8 -*-
2022-06-04

Java使用pdfbox实现给pdf文件加图片水印

有时候需要给pdf加水印,市面上工具都是收费的要会员,还是自食其力吧;尝试过spire.pdf.free那个超过10页就不行了!所以本文还是使用了pdfbox,感兴趣的可以了解一下
2022-11-16

Java如何实现给Word文件添加文字水印

这篇文章主要为大家展示了“Java如何实现给Word文件添加文字水印”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何实现给Word文件添加文字水印”这篇文章吧。方法思路在给Word每一
2023-06-29

JavaScript实现简单MD5加密的脚本分享

MD5信息摘要算法是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。本文将用JavaScript实现简单MD5加密,感兴趣的可以了解一下
2022-11-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录