C#加扰和解扰文本

雷尼

我已经有这种方法来加扰我的文本,但是我不知道如何解密它?

        string input = "https://www.google.de/";
        char[] chars = input.ToArray();
        Random r = new Random(259);
        for (int i = 0; i < chars.Length; i++)
        {
            int randomIndex = r.Next(0, chars.Length);
            char temp = chars[randomIndex];
            chars[randomIndex] = chars[i];
            chars[i] = temp;
        }
        new string(chars);

        Console.WriteLine(chars);
        Console.ReadKey();

我不太擅长通过数字和计算来处理这类事情,如果有人可以帮助我,那么这种事情就很好了。

我已经搜索过函数,但是找不到我能理解的示例。

//编辑:

-如何制作加扰或随机播放功能,以特定的数字对文本进行随机播放,以便每次都以相同的方式对文本进行加扰?

-并且在那之后我该如何对其进行改组?

肖恩·K

只需执行已经向后执行的相同操作即可(您需要以相反的顺序使用来自同一种子的相同随机数,因此请首先在列表中获得它们):

        string input = "https://www.google.de/";
        char[] chars = input.ToArray();
        Random r = new Random(259);
        for (int i = 0; i < chars.Length; i++)
        {
            int randomIndex = r.Next(0, chars.Length);
            char temp = chars[randomIndex];
            chars[randomIndex] = chars[i];
            chars[i] = temp;
        }
        string scrambled = new string(chars);

        Console.WriteLine(chars);
        Console.ReadKey();

        r = new Random(259);
        char[] scramChars = scrambled.ToArray();
        List<int> swaps = new List<int>();
        for (int i = 0; i < scramChars.Length; i++)
        {
            swaps.Add(r.Next(0, scramChars.Length));
        }
        for (int i = scramChars.Length - 1; i >= 0; i--)
        {
            char temp = scramChars[swaps[i]];
            scramChars[swaps[i]] = scramChars[i];
            scramChars[i] = temp;
        }

        string unscrambled = new string(scramChars);

        Console.WriteLine(scramChars);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章