ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C#
    Platform/util 2012. 3. 26. 20:21
    System.Random
    .Next()

    *
    랜덤으로 문자열을 만들어주는 함수

    회원이 비밀번호를 분실했을때 소정의 인증절차를 통과했을 경우 임의로 암호를 바꿔서 메일로 보내줄때 필
    요해서 작성해봤습니다.
    예전에도 이 게시판에 클래스 형태로 작성해서 올렸었는데 클래스 사용에 익숙치 않은분이 많은것 같아서 함
    수로 정의했습니다.

    생성되는 문자열 범위는 [a-zA-Z0-9]입니다.
    함수의 인수에 얻고자하는 범위를 숫자로 입력해서 호출하면 됩니다.
    <%
    ”// ASP(VBScript)
    Public Function RndStr(Lenth)
      Dim RanNum:
      Dim RanStr: RanStr = Null:
      Dim i:

      Randomize:

      For i=1 to Lenth
        Do
          RanNum = Round(Rnd * 1000, 0):

          if(RanNum>=48 and _
            RanNum<=122 and _
            (RanNum<=90 or RanNum>=97) and _
            (RanNum<=57 or RanNum>=65)) then
              Exit Do:
          end if
        Loop

        RanStr = RanStr & Chr(RanNum):
      Next

      RndStr = RanStr:
    End Function

    Dim r:
    r = RndStr(10):
    Response.Write r:
    %>

    // ASP.NET(C#) ———————————————-
    public string RandomString(int strLen)
    {
      int rnum=0;
      int i, j;
      string ranStr = null;

      System.Random ranNum = new System.Random();

      for(i=0; i<=strLen; i++)
      {
        for(j=48; j<=122; j++)
        {
          rnum = ranNum.Next(48,123);
          if(rnum>=48 && rnum<=122 && (rnum<=57 || rnum>=65) && (rnum<=90 || rnum>=97))
          {
            break;
          }
        }

        ranStr += Convert.ToChar(rnum);
      }

      return(ranStr);
    }
    // use ex.: Label1.Text = RandomString(10);

    ”// ASP.NET(VisualBasic) ———————————————-
    Private Function RndStr(ByRef Length As Integer) As String
      Dim RanNum As Integer
      Dim RanStr As String
      Dim i% = 0

      Randomize

      For i=1 to Length
        Do
          RanNum = Fix(Rnd * 1000):

          If _
            (RanNum>=48) And _
            (RanNum<=122) And _
            (RanNum<=57 Or RanNum>=65) And _
            (RanNum<=90 Or RanNum>=97) _
            Then
            Exit Do
          End If
        Loop

        RanStr = RanStr & Chr(RanNum):
      Next

      RndStr = RanStr
    End Function

    Dim r As String
    Dim len% = 10
    r = RndStr(len)
    Response.Write(r)


    참조 사이트:


Designed by Tistory.