현재 위치 - 회사기업대전 - 기업 정보 공시 - C# Winform 로그인 인터페이스의 인증 코드 기능 구현 (문장 마지막 소스 코드 포함)

C# Winform 로그인 인터페이스의 인증 코드 기능 구현 (문장 마지막 소스 코드 포함)

할 일이 없어서 요즘 자신의 인증코드 기능이 나오지 않은 것을 발견했다. 그래서 이 문장 썼어요.

인터페이스가 보기 힘들다. Picturebox, textbox, button 버튼은 주로 기능을 먼저 구현하려고 하는데, 나중에 업무상 필요할 경우 사용한다.

미래 기능 맵을 실현하다.

텍스트 상자에 해당 텍스트를 입력하고 확인을 클릭하여 정확한 시간을 그림과 같이 확인합니다.

검증이 실패하면 프롬프트 없이 인증 코드를 직접 업데이트합니다. 물론, 네가 사용해야 할 때, 업무 논리에 따라 하면 된다. 이것은 비교적 간단하다.

먼저 무작위 함수를 사용하여 인증 코드 문자열을 생성합니다.

두 번째: picturebox 에 문자열을 그립니다.

셋째, 확인 코드를 새로 고치려면 그림을 클릭하십시오.

네 번째 인증 코드는 대/소문자를 구분하지 않습니다.

또는 대/소문자를 구분합니다.

이 시점에서 완료되었습니다

소스 코드:

시스템 사용

시스템을 사용하다. 집합하다. 제네릭

시스템을 사용하다. 어셈블리 모델

시스템을 사용하다. 데이터;

시스템을 사용하다. 그리기;

시스템을 사용하다. 린큐

시스템을 사용하다. 텍스트;

시스템을 사용하다. Windows. Forms

네임 스페이스 suijima

{

공공부문 양식 1: 양식

{

공용 양식 1 ()

{

Initializecomponent ();

}

//인증 코드 길이

Private const int iveriycodelength = 6;

//인증 코드

전용 문자열 strVerifyCode =

//문자와 일치하는 임시 변수

String strTemp =

개인 void btnUpdate_Click (객체 발신자, EventArgs e)

{

Updateverifycode ();

}

개인 void Form 1_Load (개체 발신자, 이벤트 e)

{

Updateverifycode ();

}

//인증 코드 업데이트

개인 void UpdateVerifyCode ()

{

Strverifycode = createrandomcode (iverifycodelength);

If(strVerifyCode== "")

{

반환;

}

StrTemp = strVerifyCode

Createimage (str verify code) :

}

//인증 코드 문자열 생성

개인 문자열 CreateRandomCode(int iLength)

{

Int rand

문자 코드

String randomCode = String 입니다. 비어 있습니다.

//일정한 길이의 인증 코드를 생성합니다

시스템. Randomrandom = new random ();

For(int I = 0;; 나 & ltiLengthi++)

{

Rand = 임의. Next ();

If (rand% 3 == 0)

{

Code = (char) ('a'+(char) (rand% 26));

}

기타

{

Code = (char) ('0'+(char) (rand%10));

}

RandomCode += 코드. Tostring ();

}

RandomCode 로 돌아가기

}

///? 인증 코드 그림 만들기

개인 void CreateImage (문자열 strVerifyCode)

{

시도하다

{

Int iRandAngle = 45// 임의 회전 각도

Intimap width = (int) (str verify code). 길이 * 21);

Bitmap map = 새 비트맵 (iMapWidth, 28); //그림 배경 만들기

그래프 graph = 그래프. FromImage (지도);

차트。 투명 (컬러. 앨리스 블루); //그림을 지우고 배경을 채웁니다.

차트。 DrawRectangle (새 펜 (색상). 블랙, 0), 0, 0, 지도. 폭-1, 지도. 키-1); //경계 그리기

차트。 SmoothingMode = System 입니다. Drawing.drawing2d.smoothingmode.antialias; //모드

Randomrand = new random ();

//배경 노이즈 생성

펜 blackPen = 새 펜 (컬러. 밝은 회색, 0);

For(int I = 0;; 나 & lt50; I++)

{

Int x = 랜트. 다음 (0, 지도. 폭);

Int y = 랜트. 다음 (0, 지도. 키);

차트。 DrawRectangle(blackPen, x, y, 1,1);

}

//인증 코드 회전은 기계 인식을 방지합니다.

Char[] chars = strVerifyCode 입니다. Tochararray (); //문자열을 단일 문자 배열로 분해합니다

//자간

String format format = new string format (string format flags). Noclip);

형식. 정렬 = StringAlignment. 중심;

형식. LineAlignment = StringAlignment 중심;

//색상 정의

Color[] c = {Color. 블랙 컬러. 빨강, 컬러. 네이비 블루 컬러. 녹색,

색깔. 오렌지 컬러. 갈색, 컬러. 암청색, 컬러. 보라색};

//글꼴 정의

String [] font = {"verdana ","Microsoft sans serif ","Comic sans ms ","Arial ","Song Ti "};

For(int I = 0;; 나< 문자. 길이; I++)

{

Int cindex = rand 입니다. 다음 (7);

Int findex = rand 입니다. 다음 (5); Font f = 새 시스템. Drawing.Font (글꼴 [findex], 13, 시스템. Drawing.fontstyle.bold); //글꼴 스타일 (매개변수 2 는 글꼴 크기입니다)

브러시 b = 새 시스템. Drawing.solidbrush (c [cindex]);

점 dot = 새 점 (16,16);

부동 각도 = 랜트. 다음 (-iRandAngle, Iran dangle); //회전 각도

차트。 TranslateTransform (점). X 점. Y); //커서를 지정된 위치로 이동합니다.

차트。 회전 변환 (각도);

차트。 밧줄을 당기다 (chars[i]. ToString (), f, b, 1, 1, 형식);

차트。 회전 변환 (-각도); //뒤로 회전

차트。 TranslateTransform(2, -dot. Y); //커서를 지정된 위치로 이동합니다.

}

PictureBox 1 입니다. 이미지 = 지도;

}

Catch (매개 변수 예외)

{

MessageBox 입니다. Show ("그림을 만드는 동안 오류가 발생했습니다." " );

}

}

개인 void button 1_Click (개체 발신자, 이벤트 e)

{

//대/소문자 확인

Char [] ch1= textbox1. Text.tochararray ();

Char[] CH2 = strTemp 입니다. Tochararray ();

Intncount = 0;

For(int I = 0;; 나 & ltstrTemp. 길이; I++)

{

If ((ch1[I] >; =' a'& & ampch1[I] < =' z') | | (ch1[I] > =' a'& & ampch1[I] < ='Z'))

{

If (ch1[I]-32 = = CH2 [I] | | ch1[I]+32 = = CH2 [I]

{

Ncount++;+;

}

}

기타

{

If (ch 1[i]==ch2[i])

{

Ncount++;+;

}

}

}

If (nCount==strTemp. 길이)

{

MessageBox 입니다. 쇼 ("검증 통과");

}

기타

{

Updateverifycode ();

텍스트 상자 1. Text =

}

////대/소문자를 확인할 수 없습니다.

//if(textBox 1. Text==strTemp)

//{

// MessageBox. 쇼 ("검증 통과");

//}

//그렇지 않은 경우

//{

//updateverify code ();

// textBox 1 입니다. Text =

//}

}

///< 요약>

///사진 클릭 이벤트

///< /요약 >

///< Paramname = "sender"></param >

///< Param name = "e">& lt/param & gt;;

개인 void pictureBox 1_Click (개체 발신자, 이벤트 e)

{

Updateverifycode ();

}

}

}

copyright 2024회사기업대전