java 简单xor加密

java端加密文件

package enc;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Enc {

    public void encryptFile(){
         FileInputStream in = null;
         FileOutputStream out = null;
         try {
             String sourceFileUrl = "H:\\cookie\\app\\src\\main\\assets\\login.js";
             String targetFileUrl = "H:\\cookie\\app\\src\\main\\assets\\login_enc.js";
             in = new FileInputStream(sourceFileUrl);
             out = new FileOutputStream(targetFileUrl);
             int data = 0;
             while ((data=in.read())!=-1){
                 //将读取到的字节异或上一个数,加密输出
                 out.write(data^5);
             }
         }catch (Exception e){
             e.printStackTrace();
         }finally {
             //在finally中关闭开启的流
             if (in!=null){
                 try {
                     in.close();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
             }
             if (out!=null){
                 try {
                     out.close();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
             }
         }
     }
        
         public static void main(String[] args) {
             System.out.println("Hello, world!");
             Enc enc = new Enc();
             enc.encryptFile();
         }
}



android端解密

    private static byte[]  endecrypt(int seed,byte[] bytes){//seed为加密种子,str为加密对象
for(int i = 0;i<bytes.length;i++){
bytes[i] ^= seed;
}
return bytes;
}

// 加载本地 assets 的 js
public static void injectScriptFile(WebView webView, String filePath) {
InputStream input;
try {
input = webView.getContext().getAssets().open(filePath);
byte[] buffer = new byte[input.available()];
input.read(buffer);
input.close();

buffer = endecrypt(5, buffer);
// Log.e("xxxxx", new String(buffer));
}
    catch (IOException e) {
Log.e(TAG, "injectScriptFile: " + e);
}
上一篇:P2574 XOR的艺术 题解


下一篇:2019牛客暑期多校训练营(第一场)H XOR【线性基】