Encrypt and Decrypt a String in ASP.NET

Introduction

Encrypt and decrypting are essential data with C# play. For security purposes, we are storing some valuable things in Encrypt format.

I wrote two code examples for best practices for encrypting a string; the second is again Decrypting the value.

Microsoft has a simple method to convert strings in Encrypt and Decrypt at any time.

Encrypt and Decrypt Simple Method

string encryptedString = SomeStaticClass.Encrypt(sourceString);    
string decryptedString = SomeStaticClass.Decrypt(encryptedString);    

To use the code sample, you can copy the CryptorEngine to your project, start playing, copy method bodies, and paste them into your application projects.

I wrote a class to access the Encrypt and Decrypt Method. Because I wanted to use this method in many places, and this made my programming simple.

Encrypt and Decrypt Using Class

public string DecryptString(string encrString)  
{  
    byte[] b;  
    string decrypted;  
    try  
    {  
        b = Convert.FromBase64String(encrString);  
        decrypted = System.Text.ASCIIEncoding.ASCII.GetString(b);  
    }  
    catch (FormatException fe)   
    {  
        decrypted = "";  
    }  
    return decrypted;  
}  
  
public string EnryptString(string strEncrypted)   
{  
    byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes(strEncrypted);  
    string encrypted = Convert.ToBase64String(b);  
    return encrypted;  
}  

Still, The above code is not enough for me because I want to do something with my choice. I have created two method classes. Then I implemented the code with a specific charter to use in Encrypt method.

Encrypt and Decrypt with Character Choice

public string encrypt(string encryptString)   
{  
    string EncryptionKey = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";  
    byte[] clearBytes = Encoding.Unicode.GetBytes(encryptString);  
    using(Aes encryptor = Aes.Create())   
    {  
        Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] {  
            0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76  
        });  
        encryptor.Key = pdb.GetBytes(32);  
        encryptor.IV = pdb.GetBytes(16);  
        using(MemoryStream ms = new MemoryStream())  
        {  
            using(CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write)) {  
                cs.Write(clearBytes, 0, clearBytes.Length);  
                cs.Close();  
            }  
            encryptString = Convert.ToBase64String(ms.ToArray());  
        }  
    }  
    return encryptString;  
}  
  
public string Decrypt(string cipherText)   
{  
    string EncryptionKey = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";  
    cipherText = cipherText.Replace(" ", "+");  
    byte[] cipherBytes = Convert.FromBase64String(cipherText);  
    using(Aes encryptor = Aes.Create())   
    {  
        Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] {  
            0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76  
        });  
        encryptor.Key = pdb.GetBytes(32);  
        encryptor.IV = pdb.GetBytes(16);  
        using(MemoryStream ms = new MemoryStream())   
        {  
            using(CryptoStream cs = new CryptoStream(ms, encryptor.CreateDecryptor(), CryptoStreamMode.Write)) {  
                cs.Write(cipherBytes, 0, cipherBytes.Length);  
                cs.Close();  
            }  
            cipherText = Encoding.Unicode.GetString(ms.ToArray());  
        }  
    }  
    return cipherText;  
}  

At last, the above code is perfect for making such a good application, and now I'm filling well because I did what I wanted.

Conclusion

This article taught us Encrypt and Decrypt a String in ASP.NET with code examples.

Thanks for more code visit stupidcodes.com