求Java中以一个正整数为key的加密解密算法

哪位大哥可以给小弟一个在Java中以一个正整数为key对数据(可以是字节数组)进行加密和解密的算法?... 哪位大哥可以给小弟一个在Java中以一个正整数为key对数据(可以是字节数组)进行加密和解密的算法? 展开
 我来答
百度网友f9d7110
2007-07-03 · TA获得超过241个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:0
展开全部
import java.io.*; //引入io包
public class TxtEncrypt
{
public static void main(String args[ ]) //主函数
{
System.out.println("输入一个字符作为密钥:");
char key = System.in.read();//等待用户输入一个字符作为密钥
File fileOne=new File("hello.txt"), //要加密的文件
fileTwo=new File("hello.secret");//加密后的文件
char b[]=new char[100]; //缓冲字符数组
try{
FileReader in=new FileReader(fileOne); //创建读文件流,也可以叫文件输入流
FileWriter out=new FileWriter(fileTwo); //创建写文件流,也可以叫文件输出流
int n=-1; //定义变量,存放read读的返回值
while((n=in.read(b))!=-1) //如果变量n为-1,则文件到达末尾
{
for(int i=0;i<n;i++) //循环,从字符数组b中读取字符
{
b[i]=(char)(b[i]^key); //加密,讲字符数组b中的每个字符跟a异或,然后放入b中
}
out.write(b,0,n); //然后把b中的所有字符写入到writer流中,也就是hello.secret文件中
}
out.close(); //读完之后,关闭输出流
in=new FileReader(fileTwo); //创建hello.secret文件的读文件流
System.out.println("加密后的文件内容:"); //输出字符串
while((n=in.read(b))!=-1) //当文件没有到达末尾,一直执行下面的循环体
{
String str=new String(b,0,n); //把b中的字符放入字符串变量str中
System.out.println(str); //输出str中的值 (整个循环的意思是把加密后的文件输出到屏幕上)
}
in=new FileReader(fileTwo); //创建hello.secret文件的读文件流
System.out.println("解密后的文件内容:"); //输出字符串
while((n=in.read(b))!=-1) //当文件没有到达末尾,一直执行下面的循环体
{
for(int i=0;i<n;i++) //for循环
{
b[i]=(char)(b[i]^key); //把b字符数组中的每个字符跟a异或(同一个字符异或两次之后,得到原来的字符)
}
System.out.println(new String(b,0,n)); //输出b中的所有字符
}
in.close(); //关闭输入流
}
catch(IOException e)
{
System.out.println(e); //捕获io异常
}
}
}
TableDI
2024-07-18 广告
当我们谈到Python与Excel的拆分时,通常指的是使用Python的库来读取Excel文件中的数据,然后根据某种逻辑(如按行、按列、按特定值等)将数据拆分成多个部分或输出到新的Excel文件中。上海悉息信息科技有限公司在处理这类任务时,... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式