Hi Team
I have a console app, but the issue is i dont get all the expected letters when decrypt them meaning, instead of getting all expected letters when a user types their username, it print one letter that is wrong. Let me share this logic below;
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { Console.Write("Enter the encrypted username: "); string encryptedUsername = Console.ReadLine(); string decryptedUsername = Decrypt(encryptedUsername); Console.WriteLine("Decrypted username: " + decryptedUsername); } static string Decrypt(string encryptedText) { Dictionary<char, char> decryptionMap = GenerateDecryptionMap("CuanChicken@2024", "wgqpwijwlalgbxbd"); string decryptedText = ""; foreach (char encryptedChar in encryptedText) { if (decryptionMap.ContainsKey(encryptedChar)) { decryptedText += decryptionMap[encryptedChar]; } else { // Keep non-alphabetic characters as they are decryptedText += encryptedChar; } } return decryptedText; } static Dictionary<char, char> GenerateDecryptionMap(string encryptedChars, string decryptedChars) { Dictionary<char, char> map = new Dictionary<char, char>(); for (int i = 0; i < encryptedChars.Length; i++) { char encryptedChar = encryptedChars[i]; char decryptedChar = decryptedChars[i]; // Correcting the mapping for 'l' to 'p' if (encryptedChar == 'l') { decryptedChar = 'p'; } map[encryptedChar] = decryptedChar; } return map; } }