ClrPlus.Powershell.Core.Service.RestService.ChangePassword C# (CSharp) Method

ChangePassword() static private method

static private ChangePassword ( string userName, string newPassword ) : bool
userName string
newPassword string
return bool
        internal static bool ChangePassword(string userName, string newPassword)
        {
            lock (typeof(RestService)) {
                var path = UserPropertySheetPath;

                if (path != null) {
                    var propertySheet = UserPropertySheet;
                    var user = propertySheet.Rules.FirstOrDefault(rule => rule.Name == "user" && rule.Parameter == userName);
                    if (user != null && user.HasProperty("password")) {
                        using (var hasher = MD5.Create()) {
                            var newpwd = hasher.ComputeHash(Encoding.Unicode.GetBytes(_service._serviceName + newPassword)).Aggregate(String.Empty, (current, b) => current + b.ToString("x2").ToUpper());
                            user["password"].Value = newpwd;
                            propertySheet.Save(path);
                        }
                        return true;
                    }
                }
            }
            return false;
        }