2011-05-07 5 views
2

사용자가 등록 할 때 무작위로 정품 인증 코드를 만들어 데이터베이스에 저장하는 웹 응용 프로그램을 만들고 있습니다. 그런 다음 웹 응용 프로그램은 전자 메일로 사용자에게 보냅니다. 이드는 어떻게 될까요? 어떤 SQL Server 데이터 형식을 사용합니까? 활성화 코드가 12자를 넘지 않도록하고 싶습니다. 하나만 도와주세요"정품 인증 코드"를 만들고 SQL Server 2005 데이터베이스에 저장하는 방법

답변

0

아마 가장 일반적인 방법은 Guid를 사용하는 것입니다. 하지만 기본 64 자까지는 22 자로되어있어 사용자의 요구를 충족시키지 못합니다. 만약 내가 정말로 할만 큼 짧을 필요가 있다면 base64는 새로운 Guid를 인코딩하고 왼쪽 12 문자를 가져 와서 고유한지 확인하십시오.

var guid = Guid.NewId(); 
string str = ConvertToBase64(guid.ToByteArray()); 
return str.Substr(0, 12); 

참고,이 코드는 데이터베이스에서 검색하여 고유해야합니다. 고유성을 보장하기 위해 범위가 작습니다. 아마 당신은 12 문자로 당신의 요구 사항을 풀어주는 것이 나을 것이지만, 당신의 애플 리케이션을 모른다.

+0

base64를 사용하는 대신 다음 문서를 읽어보십시오 ... http://stackoverflow.com/questions/1278934/shortest-encoding-for-guid-for-use-in-a-url – JTew

관련 문제