Not really related to crypto, but I guess it's a useful tool overall. Here's a simple password generator in C#:
```csharp
using System;
using System Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
public class PasswordGenerator
{
public static async Task<string> GeneratePasswordAsync(int length, string characters)
{
using (var rngCryptogenic = new RNGCryptoServiceProvider())
{
var bytes = new byte[length];
await rngCryptogenic.GetBytesAsync(bytes);
return new string(Enumerable.Range(0, length)
.Select(i => characters[bytes % characters.Length])
.ToArray());
}
}
}
```
You can adjust the characters variable to suit your needs.