Created
July 12, 2022 04:20
-
-
Save najathi/f72fc620ce6653e4d0eb93c22353ae5f to your computer and use it in GitHub Desktop.
Encrypt and Decrypt the password in c#
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
using System.Threading.Tasks; | |
using System.Security.Cryptography; | |
using System.IO; | |
namespace Your_Namespace | |
{ | |
public class SecurePassword | |
{ | |
public static string Encrypt(string encryptString) | |
{ | |
string EncryptionKey = "0ram@1234xxxxxxxxxxtttttuuuuuiiiiio"; //we can change the code converstion key as per our requirement | |
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 static string Decrypt(string cipherText) | |
{ | |
string EncryptionKey = "0ram@1234xxxxxxxxxxtttttuuuuuiiiiio"; //we can change the code converstion key as per our requirement, but the decryption key should be same as encryption key | |
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; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment