XOR运算可以随意更改为自己的算法。
package jiami
import kotlin.experimental.xor
object Main {
@JvmStatic
fun main(args: Array<String>) {
val a = jiaMiStr("你好吗?")
println(a) // "羣榺◐8"
val b = jieMiStr(a)
println(b) // "你好吗?"
}
fun jiaMiStr(str: String): String {
val aar: ByteArray
try {
aar = str.toByteArray(Charsets.UTF_8)
val aar_size = aar.size
var v = 0
while (v < aar_size / 2) {
aar[v] = aar[v] xor 4
++v
}
v = 0
while (v < aar_size) {
aar[v] = aar[v] xor 7
++v
}
return aar.toString(Charsets.UTF_8)
} catch (e: Exception) {
}
return str
}
fun jieMiStr(str: String): String {
val aar: ByteArray
try {
aar = str.toByteArray(Charsets.UTF_8)
val aar_size = aar.size
var v = 0
while (v < aar_size) {
aar[v] = aar[v] xor 7
++v
}
v = 0
while (v < aar_size / 2) {
aar[v] = aar[v] xor 4
++v
}
return aar.toString(Charsets.UTF_8)
} catch (e: Exception) {
}
return str
}
}
网友评论