大家好,又见面了,我是你们的朋友全栈君。
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[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);
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160189.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...