美文网首页
用XOR进行字符串加解密

用XOR进行字符串加解密

作者: Afra55 | 来源:发表于2024-07-28 15:06 被阅读0次

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
    }
}

相关文章

网友评论

      本文标题:用XOR进行字符串加解密

      本文链接:https://www.haomeiwen.com/subject/anhihjtx.html