Exemplo n.º 1
0
 public static bool Get(ref Archive.ArchivePassword password)
 {
     if (!string.Equals(password.path, FileName, StringComparison.OrdinalIgnoreCase))
     {
         return(false);
     }
     if (Delay > 0)
     {
         Thread.Yield();
         Thread.Sleep(Delay);
         Thread.Yield();
     }
     password.password = Password;
     return(!string.IsNullOrEmpty(password.password));
 }
 protected virtual bool GetPassword(ref Archive.ArchivePassword password)
 {
     password.password = string.Empty;
     lock (SyncRoot)
     {
         if (!this.Passwords.TryGetValue(password.path, out password.password))
         {
             password.password = this.UserInterface.Prompt(
                 string.Format("Please enter the password for \"{0}\":", password.path.GetName()),
                 UserInterfacePromptFlags.Password
                 );
             this.Passwords[password.path] = password.password;
         }
     }
     return(!string.IsNullOrEmpty(password.password));
 }