壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册
查看: 2793|回复: 9

易飞登入密码解密使用方法c#,请大家一起讨论

  [复制链接]
发表于 2011/4/6 09:48:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
//解密使用方法: Ddcode7(用户名加密后字符, 数据库密码符)
         private string Decode7(string EnStr, string s)
         {
             int KeyLen, i, n1, n2;
             char FStr1, FStr2, FStr3, FStr4;
             string Result = "";
             if (EnStr == "") { mesSageBox.Show("EnStr=" + EnStr.ToString()); return Result; }
             if (s.Length < 32) //少于32位,错误
             {
                 Result = "ERROR!";
                 return Result;
             }
             if (s == EnStr) { return Result; }
             //检查密码有几位
             KeyLen = 0;
             for (i = 28; i >=1; i--) //可以至少28位密码
             {
                 if (s[i] != EnStr[i])
                 {
                     KeyLen = i;
                     break;
                 }
             }
             if (KeyLen == 0) { return Result; } //全部一样.退出
             for (i = KeyLen; i >=0 ; i--)
             {
                 
                 if (i <= 3)
                 {
                     FStr1 = EnStr[i];
                     //FStr2 = EnStr[32 - 4 + i];
                     FStr3 = s[i];
                     FStr4 = s[31-4+i]; //加密位置1  标识用
                     n1 = Convert.ToInt32(FStr1)^Convert.ToInt32(FStr3);
                    // MessageBox.Show(n1.ToString());
                     n2 = ((Convert.ToInt32(FStr4)-32)%16);
                     Result = Convert.ToChar((n2 * 16) + 32 + n1)+Result;
                     FStr4 = Convert.ToChar((Convert.ToInt32(FStr4)%16)+32);
                     //s = s.Substring(1, 32-4+i-1) + FStr4 + s.Substring(32-4+i+1, 4-i);
                     s = s.Substring(0, 31 - 4 + i - 1) + FStr4 + s.Substring(31 - 4 + i + 1, 3 - i);
                 }
                 else
                 {
                    
                     FStr1 = EnStr[i];
                     //FStr2 =EnStr [i-4];
                     FStr3 = s[i];
                     FStr4 = s[i-4];
                     // MessageBox.Show(EnStr.Length.ToString() + "****" + i.ToString() + "***--" + FStr3.ToString());
                     n1 = Convert.ToInt32(FStr3)^Convert.ToInt32(FStr1);
                     //MessageBox.Show(n1.ToString ());
                     n2 = ((Convert.ToInt32(FStr4)-32)%16); //检查是什么类型
                     Result = Convert.ToChar((n2*16)+32+n1)+Result;
                     FStr4 = Convert.ToChar((Convert.ToInt32(FStr4)%16)+32);
                     //MessageBox.Show(s.Substring(1, i- 4-1).ToString());
                    
                     //s = s.Substring(1,i-4-1) + FStr4 + s.Substring(i-4+1,32-i+4);
                     s = s.Substring(0, i - 3 - 1) + FStr4 + s.Substring(i - 5 + 1, 31 - i + 4);
                 }
             }
                return Result;
         
            
         }
发表于 2011/4/9 23:57:41 | 显示全部楼层
[Microsoft][ODBC SQL Server Driver]语法错误或违反访问规则
 楼主| 发表于 2011/4/11 14:55:01 | 显示全部楼层
先已经调试OK
发表于 2011/4/12 23:49:20 | 显示全部楼层
貌似还是一样哦


[Microsoft][ODBC SQL Server Driver]语法错误或违反访问规则
 楼主| 发表于 2011/5/4 20:18:47 | 显示全部楼层
要修改下哦,调试OK
发表于 2011/5/8 11:58:23 | 显示全部楼层
那个地方修改,小弟SQL不汗哦
发表于 2011/10/7 15:51:03 | 显示全部楼层
索引和长度必须引用该字符串内的位置。
参数名: length
发表于 2011/10/7 16:06:17 | 显示全部楼层
s = s.Substring(0, 31 - 4 + i - 1) + FStr4 + s.Substring(31 - 4 + i + 1, 3 - i);
这句有问题.
发表于 2011/10/9 08:45:23 | 显示全部楼层
研究一下,很好
发表于 2013/8/22 15:54:52 | 显示全部楼层
想研究来的 但感觉比较复杂.......................
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|壹佰网 ERP100 ( 京ICP备12025635号 京ICP证120590号 )  

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表