Chars加扰(C#和Javascript)

时间:2011-04-19 08:13:06

标签: c# javascript letters chars scramble

我需要用语言来争夺字符。而这种争吵不一定是随机的。换句话说,每次加扰(在相同的单词上)时,新结果必须等于最后的加扰结果(在同一个单词上)。非常简单的例子是异或。但XOR很容易解码,我需要更多的力量。您是否可以推荐库,以便在C#和Javascript上使用相同的工作?

感谢您的任何建议!:)

3 个答案:

答案 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类生成随机数,并使用它们来加扰您的字符串。对于所有后续的加扰尝试,您可以使用第一次加扰操作的结果。这假设第一次调用的结果存储在某处。