123456 : 39177
123456789 : 13892
111111 : 9826
qwerty : 7926
1234567890 : 5853
1234567 : 4668
7777777 : 4606
123321 : 4324
000000 : 3304
123123 : 3031
666666 : 2807
12345678 : 2570
555555 : 2416
654321 : 2299
gfhjkm : 1804
777777 : 1500
112233 : 1482
121212 : 1432
12345 : 1431
987654321 : 1385
159753 : 1172
qwertyuiop : 1120
qazwsx : 1109
222222 : 967
1q2w3e : 939
0987654321 : 874
1q2w3e4r : 872
1111111 : 832
123qwe : 804
zxcvbnm : 772
88888888 : 762
123654 : 724
333333 : 707
131313 : 697
999999 : 690
4815162342 : 661
12344321 : 639
1qaz2wsx : 633
11111111 : 615
asdfgh : 609
qweasdzxc : 583
123123123 : 578
159357 : 574
zxcvbn : 571
qazwsxedc : 545
ghbdtn : 533
1234554321 : 524
1111111111 : 523
1q2w3e4r5t : 500
1029384756 : 465
qwe123 : 455
789456123 : 448
147258369 : 444
1234qwer : 439
135790 : 428
098765 : 426
999999999 : 422
888888 : 408
12341234 : 408
12345qwert : 401
qweasd : 395
987654 : 392
111222 : 391
147852369 : 380
asdfghjkl : 375
789456 : 375
samsung : 373
159951 : 365
101010 : 357
vfhbyf : 355
444444 : 353
qwerty123 : 348
nikita : 348
qweqwe : 335
q1w2e3 : 331
fyfcnfcbz : 328
00000000 : 325
qwaszx : 325
qazxsw : 322
010203 : 321
marina : 319
9379992 : 316
123789 : 316
zzzzzz : 308
qqqqqq : 308
11223344 : 307
dbrnjhbz : 306
qwertyu : 303
147258 : 299
12345678910 : 298
232323 : 296
yfnfif : 294
55555 : 292
aaaaaa : 291
147852 : 289
fylhtq : 287
fktrcfylh : 284
1qazxsw2 : 279
q1w2e3r4 : 278
7654321 : 277
import re
import collections
regex = re.compile(r'^([a-zA-Z0-9_.+-]+)@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+:(.+)$')
counter = collections.Counter()
with open('yandex.txt', encoding='ascii', errors='ignore') as file:
for line in file:
match = regex.match(line)
if match:
# login = match.group(1)
pass_ = match.group(2)
counter[pass_] += 1
for pass_, count in counter.most_common(100):
print('%-19s: %i' % (pass_, count))
dynamic_key_for_url = md5(your_secret_key + resource_url + password_variant_index)
устойчивость к раскрытию алгоритма
Возможность генерации нескольких различных паролей к одному и тому же ресурсу
password_variant_index
задает номер слота пароля для конкретного ресурса.Отсутствие внешних средств шифрования (шифроблокнот, телефон)
Невозможность (ну, хотя бы на первый взгляд) восстановления алгоритма по утекшему паролю