我已经有这种方法来加扰我的文本,但是我不知道如何解密它?
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();
Run Code Online (Sandbox Code Playgroud)
我不太擅长通过数字和计算来处理这类事情,如果有人可以帮助我,那么这种事情会很好。
我已经搜索过函数,但是找不到我能理解的示例。
//编辑:
-如何创建加扰或随机播放功能,以特定的数字对文本进行随机播放,以便每次都以相同的方式对文本进行加扰?
-并且在那之后我如何进行改组?
小智 6
只需执行已经向后执行的相同操作即可(您需要以相反的顺序使用来自同一种子的相同随机数,因此请首先在列表中获得它们):
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3190 次 |
| 最近记录: |