다음과 같이 16 자리 16 진수 serial number를 생성하고 싶습니다 : F204-8BE2-17A2-CFF3. 일련 번호 생성 알고리즘이 필요합니다.
나는 당신이 모든 무작위로 이러한 시리얼 번호를 생성하기 위해 나에게 알고리즘을 제안 할 필요는을 (이 패턴은 나에게 16^16 별개의 일련 번호를 제공하지만 그들 모두 필요하지 않습니다) 특별한 특징이다 : 각각 두 개의 시리얼 번호 (AT-이상)이 6 개 개의 숫자
(당신은, 그들은 여전히 6 인덱스의 차이가 있어야이 가장 유사한 일련 번호를 부여하는 경우 = 그것은 의미)
이 특성을 가진 좋은 알고리즘은 이전에 생성 된 일련 번호를 기억해야하므로 그다지 원하지 않습니다. 선택된 쌍 (0.001 충분한 것 같습니다) 충돌하는
는 사실, 나는이 이상과 확률을하는 알고리즘을 필요 PS
: 난 그냥 10K를 만들려고했습니다
MD5 해시를 사용하여 무작위로 문자열을 만들고 비슷한 문자열 (비슷한 = 3 자 이상)을 0.00018 확률로주었습니다.
"일련 번호가 잘못 될 가능성이 가장 적습니다 (0.001 미만이면 충분합니다"). 필요한 일련 번호의 수에 따라 다릅니다.16^16 + 1이 필요하면 적어도 하나의 완전한 충돌이 있어야합니다. –
나는 16^16보다 너무 적은 최대 1M 일련 번호가 필요합니다. – Emadpres
'0.001' 확률이란 무엇입니까? 충돌 할 선택 쌍에 대한 확률 또는 충돌 할 확률 * 충돌 쌍이 있습니까? –