前言:
XOR加密是一种非常简单的加密技术属于对称加密(相同的密钥进行加密和解密),不提供机密性或完整性验证因此不适用于高度敏感的数据,容易受到各种攻击,包括已知明文攻击。在实际应用中,应该使用更强大和安全的加密算法,如AES或RSA。
作用:
通过xor计算,将文件加密成不可读文件,除非使用逆运算,否则无法修复。
对加密代码进行 xor 逆运算,即可得到正常可读文件,文件无任何损失。
fun mk_rar(assetsName: String, rarName: String) {val arr_b1: ByteArrayval arr_b = ByteArray(0x1000)var v109: Inttry {val inputStream0: InputStream = getAssets().open(assetsName)val byteArrayOutputStream = ByteArrayOutputStream()while (true) {v109 = inputStream0.read(arr_b)if (v109 <= 0) {break} else {byteArrayOutputStream.write(arr_b, 0, v109)}}arr_b1 = byteArrayOutputStream.toByteArray()val aar_size = arr_b1.sizevar v120 = 0while (v120 < aar_size) {arr_b1[v120] = arr_b1[v120] xor 33++v120}v120 = 0while (v120 < aar_size / 2) {arr_b1[v120] = arr_b1[aar_size - 1 - v120] xor arr_b1[v120]++v120}val file: File = File(getExternalFilesDir("rar"), rarName)val fileOutputStream = FileOutputStream(file)fileOutputStream.write(arr_b1)fileOutputStream.flush()fileOutputStream.close()} catch (e: Exception) {}
}