2009-08-22 4 views
0

목적 C에서 (또는 Iphone SDK 3.0을 사용하여) 길이가 15자를 넘지 않는 고유 한 문자열을 만들고 싶습니다.고유 한 문자열 아이폰 SDK 3.0 만들기

mysql 테이블에 필요합니다. mysql 자동 증가가 기본 키에 대해 수행 할 것임을 알지만 실제로 Iphone에서 고유 키를 보내야합니다. 내 테이블의 모든 레코드에는 고유 키가 있어야합니다.

고유의 문자열은 독특한 와 숫자 및 최대 15 자

미리 감사드립니다, 스리,

답변

1

일반적으로 나는 UUID/GUID (NWCoder does in his link)를 권장하지만 UUID는 16 바이트의 원시 데이터이므로 15 바이트의 데이터로 표현할 수 없으며 영숫자 15 자까지는 표현할 수 없습니다.

그렇다면 질문은 어떻게 "독특합니까"가됩니까?

테이블에만 적용되는 고유 한 점은 쉬울 것이므로 증분 값과 부호없는 int 또는 16 진수 데이터를 사용하십시오.

세계에 독창적 인 것이 더 어려울 것입니다. UUID를 생성 한 다음 MD5로 해시 한 다음 가능한 한 많은 비트를 가져 와서 기본 (10 + 26 + 26은 대소 문자, 10 + 26은 대소 문자 구분 안함)로 변환하고 가져옵니다. 처음 15 자

인터넷 사용자가 아니더라도 고유 한 사용자 (나중에 설명)는 15 개의 영숫자로 구성된 임의의 문자열을 생성하여 가장 쉽게 수행 할 수 있습니다. 이것은 위의 UUID/MD5 방법과 기능적으로 동일 할 것입니다. 본질적으로 콜리 전 기회는 매우 작을 것이고 사용자는 소수의 여행 만 할 것이기 때문에 본질적으로 콜리 전 기회가 없습니다 난수 생성기).

1

실종 신고에 대한 간단한 답변이 있습니다. 각 여행에는 두 개의 숫자로 구성된 기본 키가 있습니다.

여행이 아이폰에 만들어 질 때 그것은 유일한 수를 얻는다 (ie 1,2,3,4,5).

은 여행을 서버와 동기화하면 아이폰 번호가 10421 인 경우, 여행 번호이 보장

10421.1, 10421.2, 등)이 될 즉, 앞에가는 특별한 고유 번호를 iphoen 제공 모든 ID는 항상 고유합니다.