CAFE

ASP.NET Core

c# 임의의 문자열 생성 Guid.NewGuid().ToString("N") 말고 다른 대안~

작성자심재운|작성시간17.07.26|조회수2,960 목록 댓글 3


보통 임의의 문자열을 생성할때, 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());

    }

}

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자퇴근5분전 | 작성시간 17.07.27 잘봤습니다. 감사합니다.
  • 작성자망고 | 작성시간 17.07.28 재밌는 기능들이 많네요.
  • 작성자퇴근5분전 | 작성시간 23.11.23 이 글을 17년에 봤는데... 난 아직도 Guid.NewGuid().ToString("N") 이걸 쓰네요... ㅎㅎㅎ
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼