示例#1
0
        private static void CheckPassword(TEncryptionData Encryption, TEncryptionVerifier Verifier, TEncryptionParameters EncParams, TEncryptionKey Key)
        {
            if (Verifier.VerifyPass(XlsConsts.EmptyExcelPassword, EncParams, Key))
            {
                return; //workbook password protected
            }

            string Password = Encryption.ReadPassword;

            if (Encryption.OnPassword != null)
            {
                OnPasswordEventArgs ea = new OnPasswordEventArgs(Encryption.Xls);
                Encryption.OnPassword(ea);
                Encryption.ReadPassword = ea.Password;
                Password = ea.Password;
            }

            if (!Verifier.VerifyPass(Password, EncParams, Key))
            {
                XlsMessages.ThrowException(XlsErr.ErrInvalidPassword);
            }
        }