보통 임의의 문자열을 생성할때, Guid.NewGuid().ToString("N") 를 사용하게 되는데요.
84bc1c2db56140b39e35b040e6856457 이런 형태로 출력이 되곤하죠.
더 무작위적이고 읽기 쉽고 , 짧은 문자열을 위해 더 나은 대안을 찾을 수 있는데요.
system.Security.Cryptography.RandomNumberGenerator.Create 를 사용하는 것입니다.
이를 사용하면 보안과 관련된 모든 것에 대해 매우 유용할 것입니다.
public class RandomGenerator
{
private const string AllowableCharacters = "abcdefghijklmnopqrstuvwxyz0123456789";
public static string GenerateString(int length)
{
var bytes = new byte[length];
using (var random = RandomNumberGenerator.Create())
{
random.GetBytes(bytes);
}
return new string(bytes.Select(x => AllowableCharacters[x % AllowableCharacters.Length]).ToArray());
}
}
다음검색