Path.GetRandomFileName
This C# method from System.IO
generates random file names. We can use these to store data in a secret (or unique) way.
Random
filename benefitsThe filename does not conflict with other files. It will not be corrupted by other programs. We can write the file and expect it to be left alone.
First, there are many ways to generate random strings. You could develop a method that populates a char
array using the Random
class
, and then returns a string
based on those numbers.
Path.GetRandomFileName
static
method, which returns appropriate strings.Path.GetRandomFileName
method returns a random file name with an extension. This includes the period before the extension.using System; using System.IO; class Program { static void Main() { // // Write three random files. // WriteRandomFile(); WriteRandomFile(); WriteRandomFile(); } static void WriteRandomFile() { // // Get random file name. // string fileName = Path.GetRandomFileName(); // // Construct full path. // string outputPath = Path.Combine("C:\\", fileName); // // Write to screen and disk. // Console.WriteLine(fileName); File.WriteAllText(outputPath, "Random"); } }m4adstid.dw2 mbhbtcen.5m1 1qtk3r5u.bka
Internally, the Path.GetRandomFileName
method gets random bytes from the cryptographic-quality random number generator RNGCryptoServiceProvider
.
StringBuilder
with characters based on those bytes.We generated random file names to store certain kinds of data. By using Path.GetRandomFileName
, you can write to files that have secure random names.