问题描述
privateboolStrCalc1(stringstr,doubleIn,refdoubleOut){str=str.Replace("data",In.ToString());DataTabledt=newDataTable();Out=Convert.ToDouble(dt.Compute(str,"false").ToString());}如上所示函数为四则运算计算器例如:doubledata1=10,data2=0;stringstr="(data+60)/2";StrCalc(str,data1,refdata2);此时data2值将会是35;特别说明StrCalc1传过来的str可能是(data+60)/2,也可能是(data-60)/2+3*8/2+data,等等,反正就是有一个输入值加一些常量组成的公式。请教:如果已知data2为35,有没有万能办法(即适用任何四则运算公式)反推出data1是10呢?
解决方案
解决方案二:
你可以将函数理解为一个黑盒,你只知道输入、输出,想知道黑盒构造。黑盒的破解在了解黑盒足够的信息以及足够的输入、输出对的情况下,有的是可以破解的,有的是不可破解的。你的这个不存在不可逆运算,理论上可以破解。
时间: 2024-10-30 18:55:18