Jump to content
Elfocrash

Source L2 Acp (Account - Admin Control Panel)

Recommended Posts

10 minutes ago, .Elfocrash said:

What's the password hashing setting you are using?

I'm not at home now, but I think i left it as default.  Where can I confirm it ?

Im getting error 501 Invalid Password.

Share this post


Link to post
Share on other sites
22 hours ago, .Elfocrash said:

What's the password hashing setting you are using?

I'ts base64, the default.

 

"PasswordHashType": "Default",


I've tried to debug the code, on login, the password verification, runs this method:
 

        public static string ToL2Password(this string str)
        {
            if (Startup.Configuration.GetValue<string>("TargetServerType") == "L2OFF")
            {
                if (Startup.Configuration.GetValue<string>("PasswordHashType") == "Default")
                {
                    return L2OffCrypto.EncryptLegacyL2Password(str);
                }
                else
                {
                    return L2OffCrypto.EncryptMD5(str);
                }
            }
              /* and it always ends in choosing else, since the server is L2j, login works, change password doesnt*/
            else
            {
                SHA1 shA1 = SHA1.Create();
                byte[] bytes = new ASCIIEncoding().GetBytes(str);
                str = Convert.ToBase64String(shA1.ComputeHash(bytes));
                return str;
            }
        }

and it works for the login, but when it comes to changing the password, it always ends up in error 501 :
 

[HttpPost]
        [Route("changepass")]
        public async Task<IActionResult> ChangePassword([FromBody] ChangePassViewmodel model)
        {
            if (User.Identity.IsAuthenticated)
            {
                var accountName = HttpContext.GetUsername();

                var response = await _requestService.ChangePassword(accountName, model.CurrentPassword.ToLegacyL2Password(), model.NewPassword.ToL2Password());
                switch (response.ResponseCode)
                {
                    case 200:
                        return Content("ok");
                    case 500:
                        return Content(_localizer["Something went wrong!"]);
                    case 501:
                        return Content(_localizer["Invalid password!"]);
                }
            }
            return Unauthorized();
        }

And I don't get any error messages on the console either from the API or from the website.

Edited by abumini
extra content ^^

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



×