Basic idea behind Password Encryption & Decryption
उपयोगकर्ता ASCII या UNICODE टेक्स्ट इनपुट कर सकता है जो पासवर्ड टेक्स्टबॉक्स है। मान लीजिए कि उपयोगकर्ता ASCII प्रारूप में टेक्स्ट इनपुट करता है। हम पहले टेक्स्ट को बाइट ऐरे के रूप में परिवर्तित करते हैं और फिर इस बाइट ऐरे को बेस 64 एन्कोडिंग स्ट्रिंग में परिवर्तित करते हैं। जब तक निजी और सार्वजनिक कुंजी का उपयोग नहीं किया जाता है, तब तक इस बेस 64 एन्कोडेड स्ट्रिंग को आसानी से डिक्रिप्ट किया जा सकता है। हम देखते हैं कि टेक्स्ट को Base64 स्ट्रिंग में कैसे एन्क्रिप्ट किया जाता है। हम बेस 64 एन्कोडेड स्ट्रिंग को बाइट ऐरे में बदलने के लिए रिवर्स प्रक्रिया कर सकते हैं और फिर बाइट ऐरे को ASCII या UTF-8 या UNICODE स्ट्रिंग में बदल सकते हैं।
System.Text namespace के Encoding क्लास का उपयोग करके एन्कोडिंग किया जाता है। विशिष्ट एन्कोडिंग प्रारूप प्राप्त करने के लिए इस क्लास में ASCII, UTF-8, UNICODE आदि properties हैं। फिर हम वांछित परिणाम प्राप्त करने के लिए GetBytes(), GetString() तरीकों का उपयोग कर सकते हैं। Convert क्लास का उपयोग स्ट्रिंग को बाइट्स ऐरे और इसके विपरीत में बदलने के लिए भी किया जाता है।
System.Text is the namespace used to do encoding using Encoding class. This class has ASCII, UTF-8, UNICODE etc. properties to get the specific encoding format. Then we can use GetBytes(), GetString() methods to get desired result.
Convert class is used to convert string into bytes array and vice versa.
UI Design of the Password Form
The complete code to encryp and decrpt password
using System;
using System.Windows.Forms;
namespace PasswordWF
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void EncryptButton_Click(object sender, EventArgs e)
{
string password = PasswordTextBox.Text;
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(password);
string b64str= Convert.ToBase64String(bytes);
ResultLabel.Text = "Encrypted text: " + b64str;
}
private void DecryptButton_Click(object sender, EventArgs e)
{
string fulltext = ResultLabel.Text;
string base64text = fulltext.Substring(fulltext.IndexOf(":")+2);
byte[] bytes = Convert.FromBase64String(base64text);
string decrptext = System.Text.Encoding.ASCII.GetString(bytes);
MessageBox.Show(decrptext,"Decrypted text",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
}
No comments:
Post a Comment