阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 1220|回复: 0

[讨论] 也谈管家婆A8忘记密码的方法【v3.7以下】

[复制链接]

该用户从未签到

发表于 2015-2-1 09:04:34 | 显示全部楼层 |阅读模式
本帖最后由 sdwfwcm 于 2015-2-1 09:11 编辑

ipcfan在《管家婆知识普及之管家婆A8忘记密码或者清除A8密码方法》http://bbs.sunwy.org/forum.php?mod=viewthread&tid=145396&extra=&page=1中谈到了一种方法,我们知道A8的业务系统跟OA系统是分开的,它们的密码又是相关联的,正常情况下两个密码是一致的,通过OA系统的密码可以得到明码。打开表DBO.CRM.LoginUser找到PassWord列,里边数字、 加号组合就是密码,下边提供的是转换函数,转换是可逆的。[VS2008下通过]
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using System.Runtime.CompilerServices;
namespace ERPPASS
{
    public partial class ERP密码 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write(Decrypt(int2str("15+91+128+135+133+129+")));
        }
        public string str2int(string strSource)
        {
            string str2 = "";
            int num2 = Strings.Len(strSource);
            for (int i = 1; i <= num2; i++)
            {
                str2 = str2 + StringType.FromInteger(Strings.Asc(Strings.Mid(strSource, i, 1)) + 13) + "+";
            }
            return str2;
        }
        public string Encrypt(string s)
        {
            string key = "A8ALLFORYOUFBLHCZCLSLYGYW";
            int num4 = Strings.Len(s);
            int num3 = Strings.Len(key);
            int num6 = num3;
            int num7 = num4;
            for (int i = 0; ((num6 >> 0x1f) ^ i) <= ((num6 >> 0x1f) ^ num7); i += num6)
            {
                int num5 = num3;
                for (int j = 1; j <= num5; j++)
                {
                    if ((i + j) <= num4)
                    {
                        StringType.MidStmtStr(ref s, i + j, 1, StringType.FromChar(Strings.Chr(Strings.Asc(Strings.Mid(s, i + j, 1)) ^ Strings.Asc(Strings.Mid(key, j, 1)))));
                        if (StringType.StrCmp(Strings.Mid(s, i + j, 1), "\0", false) == 0)
                        {
                            StringType.MidStmtStr(ref s, i + j, 1, Strings.Mid(key, j, 1));
                        }
                    }
                }
            }
            return s;
        }
        public string int2str(string strSource)
        {
            string str2 = "";
            object obj2 = Strings.Split(strSource, "+", -1, 0);
            int num2 = Information.UBound((Array)obj2, 1) - 1;
            for (int i = 0; i <= num2; i++)
            {
                str2 = str2 + StringType.FromChar(Strings.Chr(IntegerType.FromObject(ObjectType.SubObj(Conversion.Int(RuntimeHelpers.GetObjectValue(LateBinding.LateIndexGet(obj2, new object[] { i }, null))), 13))));
            }
            return str2;
        }
        public string Decrypt(string s)
        {
            string key = "A8ALLFORYOUFBLHCZCLSLYGYW";
            int num4 = Strings.Len(s);
            int num3 = Strings.Len(key);
            int num6 = num3;
            int num7 = num4;
            for (int i = 0; ((num6 >> 0x1f) ^ i) <= ((num6 >> 0x1f) ^ num7); i += num6)
            {
                int num5 = num3;
                for (int j = 1; j <= num5; j++)
                {
                    if ((i + j) <= num4)
                    {
                        StringType.MidStmtStr(ref s, i + j, 1, StringType.FromChar(Strings.Chr(Strings.Asc(Strings.Mid(s, i + j, 1)) ^ Strings.Asc(Strings.Mid(key, j, 1)))));
                        if (StringType.StrCmp(Strings.Mid(s, i + j, 1), "\0", false) == 0)
                        {
                            StringType.MidStmtStr(ref s, i + j, 1, Strings.Mid(key, j, 1));
                        }
                    }
                }
            }
            return s;
        }
    }
}
楼主热帖
启用邀请码注册,提高发帖质量,建设交流社区
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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