Generate Random Password for PDF with asp.net
In the previous article we discussed about Dynamic PDF generation with static password.Now Lets try with some random password that means generate a password at the time of pdf creation to provide more secuirty for the pdf file.
Previous article :
Create Password protected PDF using iTextsharp
First ,Drag one label from toolbox and change properties as
Name =" "(Empty)
Id=lblPassword
Visible=false;
Now, write a method to generate a random password with the combination of string and number
private string setpassword() { StringBuilder SB = new StringBuilder(); SB.Append(RandomString(3, true)); SB.Append(RandomNumber(100, 999)); return SB.ToString(); }
The following method return a random number
private int RandomNumber(int min, int max) { Random random = new Random(); return random.Next(min, max); }
The following method return a random string
StringBuilder SB = new StringBuilder(); Random random = new Random(); char ch ; for(int i=0; i lessthan size; i++) { ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65))) ; SB.Append(ch); } if(lowerCase) return SB.ToString().ToLower(); return SB.ToString();
Now write the following method to generate a PDF file
First get the generated password in to label,Write the following code inside the button event
protected void btnCreatePDF_Click(object sender, EventArgs e) { lblPassword.Text=setpassword(); }
Following is the complete code to generate pdf file with random password
protected void btnCreatePDF_Click(object sender, EventArgs e) { lblPassword.Text=setpassword(); string path = Server.MapPath("~/"); string fileName =txtPDFName.Text + ".pdf"; string MFileName = string.Empty; object TargetFile = path + fileName; iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(TargetFile.ToString()); MFileName = TargetFile.ToString(); MFileName = MFileName.Insert(ModifiedFileName.Length - 4, "R2T4"); lblpassword.Text=Setpassword(); iTextSharp.text.pdf.PdfEncryptor.Encrypt(reader, new FileStream(MFileName, FileMode.Append), iTextSharp.text.pdf.PdfWriter.STRENGTH128BITS, lblpassword.Text, "", iTextSharp.text.pdf.PdfWriter.AllowPrinting); if (File.Exists(TargetFile.ToString())) File.Delete(TargetFile.ToString()); }
Previous article :
I Hope this will helps somebody..Happy Coding....
Labels: .Net Tutorials, Aspnet, C#
1 Comments:
This comment has been removed by a blog administrator.
Post a Comment
Subscribe to Post Comments [Atom]
<< Home