2012-05-21 6 views
0

부스트 무작위 생성기를 사용하여 랜덤 UUID를 생성합니다. 무작위로 생성하는 UUID는 꽤 긴 길이입니다. 대신에 2 자리 숫자의 UUID를 생성하고 싶습니다. 예 : "을 Dz"무작위 UUID를 생성하려면 2 자리 숫자 Long

내가 사용하고 코드의 라인 지금

표준 : : 문자열 strAK = to_string (부스트 : UUID를 :: random_generator을()());

이 코드를 수정하고 2 자리 길이의 UUID를 생성하는 방법. 이미 주석 된 바와 같이

+5

UUID가 너무 긴 이유가 있습니다 ..... –

+1

필요한 경우 두 자릿수의 길이를 생성하십시오. UUID라고하지 말고 충돌을 피하기를 기대하지 마십시오. –

+2

한 걸음 뒤로 물러나십시오.이 2 개의 문자열로 무엇을 할 것입니까? –

답변

2

사소,

std::string strAK = to_string(boost::uuids::random_generator()()).substr(0, 2); 

하지만,이 보편적으로 독특한 될 수 없습니다.

+0

이 기본 문자 (즉, 모든 상위 알파 및 0-9에 대해 36)에 따라이 2 문자 문자열이 잠재적으로 나타낼 수있는 범위에서 고유하지 않을 수도 있습니다. 진정으로 모든 가능성을 커버하기 위해 2 개의 문자 만 필요하면 100 개의 가능한 조합을 제공하는 자동 증가 카운터를 사용하는 것이 좋을 것입니다. 그렇지 않으면 10 진수를 다른 기준으로 변환하는 것 이상을 필요로합니다. –

+0

감사합니다 필립 ... u가 올바르게 말했듯이, 그것은 2U의 ID를 UUID로 부르는 것이 잘못 될 것입니다. 이미 전형적인 UUID가 있고 이걸지도 내부에 연결하기 위해 2 자리 ID가 필요하기 때문에 필요합니다. . – payyans4u

관련 문제