这是我正在使用的当前代码
public string obfuscateNums(string src)
{
string returnSrc = src;
string[] numbers = Regex.Split(src, @"\D+");
foreach (string val in numbers)
{
if (!string.IsNullOrEmpty(val))
{
string newNum = obfuscateNumber(val);
Regex reg = new Regex(val);
returnSrc = reg.Replace(returnSrc, newNum);
}
}
return returnSrc;
}
public string obfuscateNumber(string origNumber)
{
Random random = new Random();
int orig = Convert.ToInt32(origNumber);
int add = random.Next(0, orig * 2);
int sub = add;
int mul = random.Next(0, orig * 2);
int div = mul;
return "((((" + orig + " + " + add + ")-" + sub + ")*" + mul + ")/" + div + ")";
}
之前它只会混淆最后一个数字,但现在它会混淆已经混淆的数字内部的数字。有谁知道我将如何解决这个问题?
当前结果:
local x = ((((27 + ((((5 + 9)-9)*0)/0)1)-((((5 + 9)-9)*0)/0)1)*((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0))/((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0)) + ((((29 + ((((5 + 9)-9)*0)/0)((((4 + 7)-7)*0)/0))-((((5 + 9)-9)*0)/0)((((4 + 7)-7)*0)/0))*((((4 + 7)-7)*0)/0))/((((4 + 7)-7)*0)/0)) + ((((28 + ((((5 + 9)-9)*0)/0)((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0))-((((5 + 9)-9)*0)/0)((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0))*((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0))/((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0)) + ((((26 + ((((4 + 7)-7)*0)/0)9)-((((4 + 7)-7)*0)/0)9)*((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0))/((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0)) + ((((3 + ((((5 + 9)-9)*0)/0))-((((5 + 9)-9)*0)/0))*0)/0) + ((((4 + 7)-7)*0)/0) + ((((5 + 9)-9)*0)/0)
相关分类