Интересно, как компании мобильной связи генерируют PIN-код и PUK-код для своих SIM-карт?
У меня большая база уже сгенерированных кодов, эта база содержит 3 столбца:
* MSIN: идентификационный номер мобильного абонента (10 цифр)
* PIN: персональный идентификационный номер (4 цифры)
* PUK: персональный код разблокировки (8 цифр)
Пока что, возможно, PIN и PUK генерируются из MSIN, поскольку столбец MSIN увеличивается, в то время как другие генерируются с помощью логики, что-то вроде:
MSIN PIN PUK
1000000000 3234 20005627
1000000001 5993 92870018
1000000002 3465 30327846
...
можно ли узнать, как генерируются эти сериалы? Используя существующую базу данных, можно ли угадать используемый алгоритм?
Я прошу это ради знаний, только чтобы не использовать предоставленную информацию в какой-либо незаконной деятельности;)
спасибо.
UPDATE
Я искал, сколько раз повторяются некоторые пин-коды, и нашел это
0000 –> 261 times
1111 –> 429982 times
2222 –> 275
3333 –> 233
4444 –> 279
5555 –> 277
6666 –> 242
7777 –> 263
8888 –> 249
9999 –> 242
штифт 1111 используется чаще других! так что, возможно, время от времени меняется алгоритм ... или нет никакой логики внутри: (
ОБНОВЛЕНИЕ 2
Я проверил MSIN и обнаружил, что они совершают скачки в инкрементной системе, например,
1011000000
1011000001
… here they followed incrementing until 1011499999
1011499999 and they jumped to 1031000000
1031000000
… the same thing here
1031299999
1131000000
…
это приводит к мысли, что всякий раз, когда они хотят выпустить новые карты, скажем, 500 000 карт, они начинают с нового MSIN, который не следует правилу увеличения в базе данных, и может изменить алгоритм генерации кода (именно поэтому мы находим в некоторых случаях, что они выпустили все следующие карты с пин 1111)