zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    [mysql] 删除唯一约束unique
    onethink 路由规则无效问题解决
    mysql source 乱码
    NLPIR
    词性标记集--计算所汉语
    [thinkphp] 无限极分类
    UITableViewCell在非Nib及Cell重用下设置CellStyle
    UIViewController的初始化
    转:NSString / NSData / char* 类型之间的转换
    转:苹果Xcode帮助文档阅读指南
  • 原文地址:https://www.cnblogs.com/cute/p/13303740.html
Copyright © 2011-2022 走看看