場景:上傳文件比嘗試壓縮它使用DotNetZip
密碼保護,密碼生成與Membership.GeneratePassword()
方法。一切工作正常,除非有時用戶不能使用生成的密碼解壓縮文件。有線的事情是,這種情況只發生,有時讓我們說15次中的1次。 生成密碼:DotNetZip解壓縮時密碼錯誤
public static String FilePassword()
{
while (_filePassword.Length < 12)
{
_filePassword += string.Concat(Membership.GeneratePassword(1, 0).Where(char.IsLetterOrDigit));
}
return _filePassword;
}
保存文件:
if (FileUploadControl.HasFile)
{
fileName = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(FileSavePath + fileName);
// Archive uploaded file to zip.
using (ZipFile zip = new ZipFile())
{
// File to be archived.
var file = FileUploadControl.PostedFile;
// Enable encryption of file
zip.Encryption = EncryptionAlgorithm.PkzipWeak;
// Set password.
zip.Password = Settings.FilePassword();
// Set temporary folder path for archive process.
zip.TempFileFolder = tempPath;
// Add file to archive with its path.
zip.AddFile(FileSavePath + file.FileName, "");
File objFile = new File(file.FileName, FileSavePath);
// Save zip file with the name as file ID.
zip.Save(FileSavePath + file.FileName);
}
}
我登錄密碼,而創造的方法,也同時保護zip文件與密碼,他們總是匹配,我看不出有什麼不對,爲什麼有時解壓縮文件時會顯示錯誤的密碼。
,你能否告訴我們,沒有工作,沒有工作的密碼的一些例子嗎? – mjwills
您是否檢查過密碼的字符編碼? – Baccata
@mjwills密碼是字母數字,其中一個工作通行證:vKkowRZBtIxo,不工作一個:QjCFFaM9LumZ – Mony