java 版 异或加密



String str="";
String src="aaa";
String key="bbb";
byte buf1[]=src.getBytes();
byte buf2[]=key.getBytes();
for(int i=0;i<src.length();i++){
    int b=(int)buf1[i]^(int)buf2[i%key.length()];
    str+=(char)b;
}

以下是Java使用异或方式对文件进行加密解密的示例代码: 加密: ```java import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class XorEncryptor { public static void encrypt(File inputFile, File outputFile, String key) throws IOException { FileInputStream inputStream = new FileInputStream(inputFile); FileOutputStream outputStream = new FileOutputStream(outputFile); byte[] buffer = new byte[1024]; int len; int index = 0; while ((len = inputStream.read(buffer)) != -1) { for (int i = 0; i < len; i++) { buffer[i] ^= key.charAt(index % key.length()); index++; } outputStream.write(buffer, 0, len); } inputStream.close(); outputStream.close(); } } ``` 解密: ```java import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class XorDecryptor { public static void decrypt(File inputFile, File outputFile, String key) throws IOException { FileInputStream inputStream = new FileInputStream(inputFile); FileOutputStream outputStream = new FileOutputStream(outputFile); byte[] buffer = new byte[1024]; int len; int index = 0; while ((len = inputStream.read(buffer)) != -1) { for (int i = 0; i < len; i++) { buffer[i] ^= key.charAt(index % key.length()); index++; } outputStream.write(buffer, 0, len); } inputStream.close(); outputStream.close(); } } ``` 其中,encrypt方法用于加密文件,decrypt方法用于解密文件。key为加密解密的密钥。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值