Это должны быть только числа? Вы могли создать случайное число между 1 и 1M (я предложу еще выше, хотя) и затем Base32 кодируют его . Следующей вещью, которую необходимо сделать, является Хеш, которые оценивают (использование секретного соленого значения), и base32 кодируют хеш. Тогда добавьте две строки вместе, возможно, разделенный тире.
Тот путь, можно проверить входящий код алгоритмически. Вы просто берете левую сторону кода, хешируете его с помощью секретной соли и сравниваете то значение с правой стороной кода.
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);