示例#1
0
        public void CreatePassword(string _password1, string _password2, Crypto.TYPE _crypto_type)
        {
            ValidatePassword(_password1, _password2);
            password = Crypto.MD5(_password1);

            switch (_crypto_type)
            {
            case Crypto.TYPE.MD5:
                password = Crypto.MD5(_password1);
                break;

            case Crypto.TYPE.SHA1:
                password = Crypto.SHA1(_password1);
                break;

            case Crypto.TYPE.SHA256:
                password = Crypto.SHA256(_password1);
                break;

            case Crypto.TYPE.SHA512:
                password = Crypto.SHA512(_password1);
                break;

            default:
                throw new NotImplementedException();
            }
        }
示例#2
0
        public void ChangePassword(string oldCryptoPassword, string newPlainPassword1, string newPlainPassword2, Crypto.TYPE _crypto_type)
        {
            if (id <= 0)
            {
                throw new Exception(Languages.Errors.CHANGE_PASSWORD_ERROR_SYSUSER_ID);
            }

            if (password != oldCryptoPassword)
            {
                throw new ArgumentException(Languages.Errors.PRESENT_PASSWORD_ERROR, "oldPassword");
            }

            if (newPlainPassword1 != newPlainPassword2)
            {
                throw new DistinctPasswordException();
            }

            string newCryptoPassword1 = String.Empty;

            switch (_crypto_type)
            {
            case Crypto.TYPE.MD5:
                newCryptoPassword1 = Crypto.MD5(newPlainPassword1);
                break;

            case Crypto.TYPE.SHA1:
                newCryptoPassword1 = Crypto.SHA1(newPlainPassword1);
                break;

            case Crypto.TYPE.SHA256:
                newCryptoPassword1 = Crypto.SHA256(newPlainPassword1);
                break;

            case Crypto.TYPE.SHA512:
                newCryptoPassword1 = Crypto.SHA512(newPlainPassword1);
                break;

            default:
                throw new NotImplementedException();
            }

            if (oldCryptoPassword == newCryptoPassword1)
            {
                throw new NothingUpdatedException();
            }

            password = newCryptoPassword1;

            query.AddParameter("@password", newCryptoPassword1);
            query.AddParameter("@id", id);
            query.ExecuteNonQuery("UPDATE " + get_table() + " SET password = @password WHERE id = @id");
        }