首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

解密算法 请大家帮帮忙

2012-02-16 
求一个解密算法 请大家帮帮忙加密算法如下:int[]codenewint[16]code[0]58code[1]50code[2]42code[

求一个解密算法 请大家帮帮忙
加密算法如下:
  int[]   code   =   new   int[16];
                        code[0]   =   58;
                        code[1]   =   50;
                        code[2]   =   42;
                        code[3]   =   34;
                        code[4]   =   26;
                        code[5]   =   18;
                        code[6]   =   10;
                        code[7]   =   2;
                        code[8]   =   60;
                        code[9]   =   52;
                        code[10]   =   44;
                        code[11]   =   36;
                        code[12]   =   28;
                        code[13]   =   20;
                        code[14]   =   12;
                        code[15]   =   4;
                        int   pwdcode   =   0;
                        char[]   pwd   =   this.txtUserPWd.Text.Trim().ToCharArray();

                        for   (int   i   =   0;   i   <=   pwd.Length   -   1   &&   i   <   16;   i++)
                        {
                              pwdcode   +=   (int)pwd[i]   *   code[i];
                        }
                        this.txtStorePWD.Text   =   pwdcode.ToString();

现在需要逆向,通过给定的数值得到一个字符串,没什么思路啊

[解决办法]
虽然对加密解密不熟,不过觉得code[]应该是一个域里面的数据,而且在这个域内16个值线性无关。
[解决办法]
加密一般都不逆向操作
这个加密算法也不是一一映射

先用txtUserPWd允许的最小的字符计算出pwdcode ,和给定的数值作差
剩余的值再用贪心算法应该能求出一个解来吧,毕竟code[7] = 2;
[解决办法]
我觉着不行吧?
因为转换以后,就是一个多元一次函数的形式了,


[解决办法]
没看懂ls
------解决方案--------------------


不可逆

热点排行