我需要用语言来争夺字符。而这种争吵不一定是随机的。换句话说,每次加扰(在相同的单词上)时,新结果必须等于最后的加扰结果(在同一个单词上)。非常简单的例子是异或。但XOR很容易解码,我需要更多的力量。您是否可以推荐库,以便在C#和Javascript上使用相同的工作?
感谢您的任何建议!:)
答案 0 :(得分:4)
如果您真的想要加扰字符,可以将random
与固定种子一起使用:
string input = "hello";
char[] chars = input.ToArray();
Random r = new Random(2011); // Random has a fixed seed, so it will always return same numbers (within same input)
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;
}
return new string(chars);
答案 1 :(得分:1)
虽然我并不真正同意你要做的事情,here's a link to MD5 javascript library(假设你要做的是某种加密)。至于C#部分,it's a built in feature。
答案 2 :(得分:1)
您可以使用任何内置的.NET类生成随机数,并使用它们来加扰您的字符串。对于所有后续的加扰尝试,您可以使用第一次加扰操作的结果。这假设第一次调用的结果存储在某处。