前言:
????????XOR加密是一种非常简单的加密技术属于对称加密(相同的密钥进行加密和解密),不提供机密性或完整性验证因此不适用于高度敏感的数据,容易受到各种攻击,包括已知明文攻击。在实际应用中,应该使用更强大和安全的加密算法,如AES或RSA。
作用:
通过xor计算,将文件加密成不可读文件,除非使用逆运算,否则无法修复。
对加密代码进行 xor 逆运算,即可得到正常可读文件,文件无任何损失。
fun mk_rar(assetsName: String, rarName: String) {
val arr_b1: ByteArray
val arr_b = ByteArray(0x1000)
var v109: Int
try {
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.size
var v120 = 0
while (v120 < aar_size) {
arr_b1[v120] = arr_b1[v120] xor 33
++v120
}
v120 = 0
while (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) {
}
}