Jump to content
  • 0

[Help]C# Encrypt password L2Off


Question

Posted

The forum is laid encryption password l2off but it does not work, the password is not suitable. can anyone help to finish. I do so

 

private static byte[] Encrypt(string password)
    {
    var key = new byte[16];
        long one, two, three, four;
        var dst = new byte[16];
        var nBytes = password.Length;

        for (var i = 0; i < nBytes; i++ )
        {
            key[i] = Encoding.ASCII.GetBytes(password.Substring(i, 1))[0];
            dst[i] = key[i];
        }

    long rslt  = @key[0] + @key[1]*256 + @key[2]*65536 + @key[3]*16777216;
    one = rslt * 213119 + 2529077;
        one = one - ToInt32(one / 4294967296) * 4294967296;

    rslt  = @key[4] + @key[5]*256 + @key[6]*65536 + @key[7]*16777216;
        two = rslt * 213247 + 2529089;
        two = two - ToInt32(two / 4294967296) * 4294967296;

    rslt  = @key[8] + @key[9]*256 + @key[10]*65536 + @key[11]*16777216;
        three = rslt * 213203 + 2529589;
        three = three - ToInt32(three / 4294967296) * 4294967296;

    rslt  = @key[12] + @key[13]*256 + @key[14]*65536 + @key[15]*16777216;
        four = rslt * 213821 + 2529997;
        four = four - ToInt32(four / 4294967296) * 4294967296;

        key[3] = ParseInt(one / 16777216);
        key[2] = ParseInt((((Int32)(one - @key[3] * 16777216)) / 65535));
        key[1] = ParseInt((one - @key[3] * 16777216 - @key[2] * 65536) / 256);
        key[0] = ParseInt((one - @key[3] * 16777216 - @key[2] * 65536 - @key[1] * 256));

        key[7] = ParseInt(two / 16777216);
        key[6] = ParseInt((two - @key[7] * 16777216) / 65535);
        key[5] = ParseInt((two - @key[7] * 16777216 - @key[6] * 65536) / 256);
        key[4] = ParseInt((two - @key[7] * 16777216 - @key[6] * 65536 - @key[5] * 256));

        key[11] = ParseInt(three / 16777216);
        key[10] = ParseInt((three - @key[11] * 16777216) / 65535);
        key[9] = ParseInt((three - @key[11] * 16777216 - @key[10] * 65536) / 256);
        key[8] = ParseInt((three - @key[11] * 16777216 - @key[10] * 65536 - @key[9] * 256));

        key[15] = ParseInt(four / 16777216);
        key[14] = ParseInt((four - @key[15] * 16777216) / 65535);
        key[13] = ParseInt((four - @key[15] * 16777216 - @key[14] * 65536) / 256);
        key[12] = ParseInt((four - @key[15] * 16777216 - @key[14] * 65536 - @key[13] * 256));

        dst[0] = ParseInt(dst[0] ^ @key[0]);

        for (var i = 1; i < dst.Length; i++)
            dst[i] = ParseInt(@dst[i] ^ @dst[i - 1] ^ @key[i]);

        for (var i = 0; i < dst.Length; i++)
            if (dst[i] == 0)
                dst[i] = 102;
                
return dst;
    }

    private static int ToInt32(long val)
    {
        return Convert.ToInt32(val);
    }
    
    private static byte ParseInt(long val)
    {
        return BitConverter.GetBytes(val)[0];
    }

 

write to the database so

        [HttpPost]
        public virtual ActionResult Create(FormCollection collection)
        {
            var ssn1=createssn();
            l2reg.Models.lin2db db = new l2reg.Models.lin2db();
            ssn dbssn = new ssn();
            dbssn.ssn1 = "2532745347517";
            dbssn.reg_date = DateTime.Now;
            dbssn.final_master_date = DateTime.Now;
            dbssn.name=collection["name"];
            dbssn.email="1@1.ru";
            dbssn.job=0;
            dbssn.phone="telephone";
            dbssn.zip="123456";
            dbssn.addr_main="";
            dbssn.addr_etc="";
            dbssn.account_num=1;
            db.ssn.AddObject(dbssn);


            user_account usaccount = new user_account();
            usaccount.account=collection["name"];
            usaccount.pay_stat=1;
            db.user_account.AddObject(usaccount);

            user_info usinfo= new user_info();
            usinfo.account=collection["name"];
            usinfo.ssn = "2532745347517";
            usinfo.kind=99;
            usinfo.create_date = DateTime.Now;
            db.user_info.AddObject(usinfo);

            user_auth user = new user_auth();
            user.account = collection["name"];
            user.password = Encrypt(collection["pass"]);
            user.quiz1="qst1";
            user.quiz2="qst1";
            user.answer1=Encrypt("123456");
            user.answer2=Encrypt("123456");
            db.user_auth.AddObject(user);

            db.SaveChanges();

            return View("Index");
        }

 

use ASP.NET MVC 3

2 answers to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...