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