namespace DataRandomizationApp
static void Main(string[] args)
Console.WriteLine("Enter the text to be randomized:");
string inputText = Console.ReadLine();
Console.WriteLine("Choose the type of randomization:");
Console.WriteLine("1. Non-deterministic");
Console.WriteLine("2. Rarely deterministic");
while (!int.TryParse(Console.ReadLine(), out randomizationType) || (randomizationType < 1 || randomizationType > 2))
Console.WriteLine("Please enter a valid option (1 or 2):");
string randomizedText = string.Empty;
switch (randomizationType)
randomizedText = PerformNonDeterministicRandomization(inputText);
randomizedText = PerformRarelyDeterministicRandomization(inputText);
Console.WriteLine("Original Text: " + inputText);
Console.WriteLine("Randomized Text: " + randomizedText);
static string PerformNonDeterministicRandomization(string text)
Random random = new Random();
char[] characters = text.ToCharArray();
for (int i = 0; i < characters.Length; i++)
if (char.IsLetterOrDigit(characters[i]))
characters[i] = (char)random.Next(33, 126);
return new string(characters);
static string PerformRarelyDeterministicRandomization(string text)
Random random = new Random();
char[] characters = text.ToCharArray();
for (int i = 0; i < characters.Length; i++)
if (char.IsLetterOrDigit(characters[i]) && random.Next(0, 2) == 0)
characters[i] = (char)random.Next(33, 126);
return new string(characters);