powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Генератор всех паролей
21 сообщений из 21, страница 1 из 1
Генератор всех паролей
    #33882804
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите плиз вот что.
Нужна функция генерирующая список паролей, 2 входных параметра:
1. Длина пароля (кол-во символов в пароле)
2. Набор символов, которые могут использоваться в паролях
Функция должна выдавать список всех возможных вариантов паролей, длиной от 1 до указанного кол-ва символов
Вроде бы просто, а сообразить не могу. Спасибо.
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33882847
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S. Fedorenko
Функция должна выдавать список всех возможных вариантов паролей, длиной от 1 до указанного кол-ва символов
Вроде бы просто, а сообразить не могу. Спасибо.

Т.е. если например входными параметрами будут число 25 и алфавит+цифры... ты примерно представляешь длинну этого списка?

Ну и что именно у тебя не получается? Цикл с перебором?
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33883123
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во первых длина 25 символов не нужна. Хотя я понимаю, что даже список с паролями до 15 символов будет огромный.
Меня это не пугает.
По-моему простым циклом здесь не обойтись.
Поэтому и спрашиваю, что не разобраться
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33883165
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот, держите.
Как работает не разбирался.
Нашел гуглом
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33883323
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Kudinovвот, держите.
Как работает не разбирался.
Нашел гуглом
Спасибо, конечно, но вы вопрос читали? сделать генератор 1 пароля заданной длины я могу, мне нужен список всех возможнных паролей заданной длины.
Например
Мне нужен список паролей длиной до 2 символов, набор символов для пароля "фыв"
Программа мне должна выдать:
ф
ы
в
фы
фв
ыф
ыв
вф
вы
фф
ыы
вв
По-моему все
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33883362
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все пароли до 3ёх символов вкл,'a','b','c' используя sql

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table a1(a varchar( 1 ))
insert into a1 values(' ')
insert into a1 values('a')
insert into a1 values('b')
insert into a1 values('c')

select distinct replace(t1.a+t2.a+t3.a,' ','')
from a1 t1 cross join a1 t2 cross join a1 t3
where ltrim(t1.a+t2.a+t3.a) <> ''
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33883605
Nikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изврат конечно, но вроде работает :-)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
Option Explicit

Private Sub Command1_Click()

Dim sBaseStr As String
Dim iBaseLong As Integer
Dim sStr As String
Dim iCurrPoz1 As Integer
Dim iCurrPoz2 As Integer
Dim iCurrPoz3 As Integer
Dim iCurrPoz4 As Integer
Dim iCurrPoz5 As Integer
Dim iCurrPoz6 As Integer
Dim iCurrPoz7 As Integer
Dim iCurrPoz8 As Integer
Dim iCurrPoz9 As Integer
Dim iCurrPoz10 As Integer
Dim iCurrPoz11 As Integer
Dim iCurrPoz12 As Integer
Dim iCurrPoz13 As Integer
Dim iCurrPoz14 As Integer
Dim iCurrPoz15 As Integer
Dim iCurrPoz16 As Integer
Dim iCurrPoz17 As Integer
Dim iCurrPoz18 As Integer
Dim iCurrPoz19 As Integer
Dim iCurrPoz20 As Integer

sBaseStr = "abcdef"
iBaseLong = Len(sBaseStr)

'1 ñèìâîë
For iCurrPoz1 =  1  To iBaseLong
    sStr = Mid(sBaseStr, iCurrPoz1,  1 )
    Debug.Print sStr
Next iCurrPoz1

'2 ñèìâîëà
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 )
        Debug.Print sStr
    Next iCurrPoz2
Next iCurrPoz1

'3 ñèìâîëà
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 )
            Debug.Print sStr
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'4 ñèìâîëà
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 )
                Debug.Print sStr
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'5 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 )
                    Debug.Print sStr
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'6 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 )
                        Debug.Print sStr
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'7 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 )
                            Debug.Print sStr
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'8 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            For iCurrPoz8 =  1  To iBaseLong
                                sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 ) & Mid(sBaseStr, iCurrPoz8,  1 )
                                Debug.Print sStr
                            Next iCurrPoz8
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'9 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            For iCurrPoz8 =  1  To iBaseLong
                                For iCurrPoz9 =  1  To iBaseLong
                                    sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 ) & Mid(sBaseStr, iCurrPoz8,  1 ) & Mid(sBaseStr, iCurrPoz9,  1 )
                                    Debug.Print sStr
                                Next iCurrPoz9
                            Next iCurrPoz8
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'10 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            For iCurrPoz8 =  1  To iBaseLong
                                For iCurrPoz9 =  1  To iBaseLong
                                    For iCurrPoz10 =  1  To iBaseLong
                                        sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 ) & Mid(sBaseStr, iCurrPoz8,  1 ) & Mid(sBaseStr, iCurrPoz9,  1 ) & Mid(sBaseStr, iCurrPoz10,  1 )
                                        Debug.Print sStr
                                    Next iCurrPoz10
                                Next iCurrPoz9
                            Next iCurrPoz8
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'11 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            For iCurrPoz8 =  1  To iBaseLong
                                For iCurrPoz9 =  1  To iBaseLong
                                    For iCurrPoz10 =  1  To iBaseLong
                                        For iCurrPoz11 =  1  To iBaseLong
                                            sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 ) & Mid(sBaseStr, iCurrPoz8,  1 ) & Mid(sBaseStr, iCurrPoz9,  1 ) & Mid(sBaseStr, iCurrPoz10,  1 ) & Mid(sBaseStr, iCurrPoz11,  1 )
                                            Debug.Print sStr
                                        Next iCurrPoz11
                                    Next iCurrPoz10
                                Next iCurrPoz9
                            Next iCurrPoz8
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'12 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            For iCurrPoz8 =  1  To iBaseLong
                                For iCurrPoz9 =  1  To iBaseLong
                                    For iCurrPoz10 =  1  To iBaseLong
                                        For iCurrPoz11 =  1  To iBaseLong
                                            For iCurrPoz12 =  1  To iBaseLong
                                                sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 ) & Mid(sBaseStr, iCurrPoz8,  1 ) & Mid(sBaseStr, iCurrPoz9,  1 ) & Mid(sBaseStr, iCurrPoz10,  1 ) & Mid(sBaseStr, iCurrPoz11,  1 ) & Mid(sBaseStr, iCurrPoz12,  1 )
                                                Debug.Print sStr
                                            Next iCurrPoz12
                                        Next iCurrPoz11
                                    Next iCurrPoz10
                                Next iCurrPoz9
                            Next iCurrPoz8
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'13 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            For iCurrPoz8 =  1  To iBaseLong
                                For iCurrPoz9 =  1  To iBaseLong
                                    For iCurrPoz10 =  1  To iBaseLong
                                        For iCurrPoz11 =  1  To iBaseLong
                                            For iCurrPoz12 =  1  To iBaseLong
                                                For iCurrPoz13 =  1  To iBaseLong
                                                    sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 ) & Mid(sBaseStr, iCurrPoz8,  1 ) & Mid(sBaseStr, iCurrPoz9,  1 ) & Mid(sBaseStr, iCurrPoz10,  1 ) & Mid(sBaseStr, iCurrPoz11,  1 ) & Mid(sBaseStr, iCurrPoz12,  1 ) & Mid(sBaseStr, iCurrPoz13,  1 )
                                                    Debug.Print sStr
                                                Next iCurrPoz13
                                            Next iCurrPoz12
                                        Next iCurrPoz11
                                    Next iCurrPoz10
                                Next iCurrPoz9
                            Next iCurrPoz8
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'14 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            For iCurrPoz8 =  1  To iBaseLong
                                For iCurrPoz9 =  1  To iBaseLong
                                    For iCurrPoz10 =  1  To iBaseLong
                                        For iCurrPoz11 =  1  To iBaseLong
                                            For iCurrPoz12 =  1  To iBaseLong
                                                For iCurrPoz13 =  1  To iBaseLong
                                                    For iCurrPoz14 =  1  To iBaseLong
                                                        sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 ) & Mid(sBaseStr, iCurrPoz8,  1 ) & Mid(sBaseStr, iCurrPoz9,  1 ) & Mid(sBaseStr, iCurrPoz10,  1 ) & Mid(sBaseStr, iCurrPoz11,  1 ) & Mid(sBaseStr, iCurrPoz12,  1 ) & Mid(sBaseStr, iCurrPoz13,  1 ) & Mid(sBaseStr, iCurrPoz14,  1 )
                                                        Debug.Print sStr
                                                    Next iCurrPoz14
                                                Next iCurrPoz13
                                            Next iCurrPoz12
                                        Next iCurrPoz11
                                    Next iCurrPoz10
                                Next iCurrPoz9
                            Next iCurrPoz8
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

'15 ñèìâîëîâ
For iCurrPoz1 =  1  To iBaseLong
    For iCurrPoz2 =  1  To iBaseLong
        For iCurrPoz3 =  1  To iBaseLong
            For iCurrPoz4 =  1  To iBaseLong
                For iCurrPoz5 =  1  To iBaseLong
                    For iCurrPoz6 =  1  To iBaseLong
                        For iCurrPoz7 =  1  To iBaseLong
                            For iCurrPoz8 =  1  To iBaseLong
                                For iCurrPoz9 =  1  To iBaseLong
                                    For iCurrPoz10 =  1  To iBaseLong
                                        For iCurrPoz11 =  1  To iBaseLong
                                            For iCurrPoz12 =  1  To iBaseLong
                                                For iCurrPoz13 =  1  To iBaseLong
                                                    For iCurrPoz14 =  1  To iBaseLong
                                                        For iCurrPoz15 =  1  To iBaseLong
                                                            sStr = Mid(sBaseStr, iCurrPoz1,  1 ) & Mid(sBaseStr, iCurrPoz2,  1 ) & Mid(sBaseStr, iCurrPoz3,  1 ) & Mid(sBaseStr, iCurrPoz4,  1 ) & Mid(sBaseStr, iCurrPoz5,  1 ) & Mid(sBaseStr, iCurrPoz6,  1 ) & Mid(sBaseStr, iCurrPoz7,  1 ) & Mid(sBaseStr, iCurrPoz8,  1 ) & Mid(sBaseStr, iCurrPoz9,  1 ) & Mid(sBaseStr, iCurrPoz10,  1 ) & Mid(sBaseStr, iCurrPoz11,  1 ) & Mid(sBaseStr, iCurrPoz12,  1 ) & Mid(sBaseStr, iCurrPoz13,  1 ) & Mid(sBaseStr, iCurrPoz14,  1 ) & Mid(sBaseStr, iCurrPoz15,  1 )
                                                            Debug.Print sStr
                                                        Next iCurrPoz15
                                                    Next iCurrPoz14
                                                Next iCurrPoz13
                                            Next iCurrPoz12
                                        Next iCurrPoz11
                                    Next iCurrPoz10
                                Next iCurrPoz9
                            Next iCurrPoz8
                        Next iCurrPoz7
                    Next iCurrPoz6
                Next iCurrPoz5
            Next iCurrPoz4
        Next iCurrPoz3
    Next iCurrPoz2
Next iCurrPoz1

End Sub

...
Рейтинг: 0 / 0
Генератор всех паролей
    #33883652
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ye yb [ez ct,t!
похоже это программно сгенерированная программа ))
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33883654
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ужас :).

Magnus
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884223
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikzИзврат конечно, но вроде работает :-)

На моем 4 пне она выдает не более 800 паролей в секунду. Это нормально?
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884256
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikz давай продолжать не будешь. Этот код надо в раздел юмора.
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884349
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну согласитесь, карсиво смотрится
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884364
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...и самое главное, симметрично! Как говорил один мой препод - "если это так красиво, то как это может быть неправильно?".
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884376
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeusTheTrueGodВсе пароли до 3ёх символов вкл,'a','b','c' используя sql

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table a1(a varchar( 1 ))
insert into a1 values(' ')
insert into a1 values('a')
insert into a1 values('b')
insert into a1 values('c')

select distinct replace(t1.a+t2.a+t3.a,' ','')
from a1 t1 cross join a1 t2 cross join a1 t3
where ltrim(t1.a+t2.a+t3.a) <> ''


Взял этот способ, доработал до 7 символов, в набор символов загнал только цифры и пробел.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Declare @a bigint, @symb nvarchar( 255 )
set @symb=' 0123456789'
create table a1(a varchar( 1 ))
SET @a= 1 
WHILE @a<len(@symb)
begin
insert into a1 values(substring(@symb,@a, 1 ))
SET @a=@a+ 1 
end
select distinct replace(t1.a+t2.a+t3.a+t4.a+t5.a+t6.a+t7.a,' ','')
from a1 t1 cross join a1 t2 cross join a1 t3 cross join a1 t4 cross join a1 t5 cross join a1 t6 cross join a1 t7
where ltrim(t1.a+t2.a+t3.a+t4.a+t5.a+t6.a+t7.a) <> ''

2ухпроцессорный сервак (2 Pentium 4 2,8GHz) думал почти 4 минуты и выдал 5380839 паролей
Вопрос: от чего БОЛЬШЕ зависит время "обдумывания", от кол-ва символов в изначальном наборе или от длины пароля?
И еще вопрос автору метода: к чему приколы с пробелом?
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884474
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно поставить макимальный бал за форматирования кода :) табуляции раставленны четко.
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884581
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S. FedorenkoСпасибо, конечно, но вы вопрос читали? сделать генератор 1 пароля заданной длины я могу, мне нужен список всех возможнных паролей заданной длины. Извините, не вник.
Тогда +1 варианту от ZeusTheTrueGod . Это однозначно лучше циклического перебора.

Хотя вариант от Nikz конечно красивее.
Визуально :)
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884936
Nikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
All...
Блин, застебали меня :-)
это же так... попытка пошутить!
Ctrl+C, Ctrl+V рулят
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33884989
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S. Fedorenko
2ухпроцессорный сервак (2 Pentium 4 2,8GHz) думал почти 4 минуты и выдал 5380839 паролей


странно, по идее должно получиться 11^7 = 19 487 171
куда делись остальные?
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33891766
parteigenosse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверно из за того, что пробелы в начале и конце строк урезаются, и пароли получаются совпадающими, то есть вариант ' 123456' равен варианту '123456 ' после прохода через replace, а поскольку идет кроссджойн, то этих пробелов впереди и сзади может быть множество.
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33893108
atv_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Текст фром ОфисБасик:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Sub GeneratePasswords(PassLen As Long, PassPhrase As String)
Dim Num() As Long
Dim NumLen As Long
Dim CurrLen As Long
Dim MaxPsw As Long
Dim Count As Long
Dim i As Long
Dim s As String
    
    NumLen = PassLen +  1 
    ReDim Num(NumLen) As Long
    
    For i =  1  To PassLen
        Num(i) =  0 
    Next i
    MaxPsw = Len(PassPhrase)
    
    Count =  0 
    CurrLen =  1 
    
    Do
        For i =  1  To NumLen
            Num(i) = Num(i) +  1 
            If Num(i) <= MaxPsw Then Exit For
            Num(i) =  1 
            If i = CurrLen Then CurrLen = CurrLen +  1 
        Next i
        Count = Count +  1 
        ' Тестовый вывод пароля
        s = ""
        For i =  1  To CurrLen
            s = Mid(PassPhrase, Num(i),  1 ) + s
        Next i
        Debug.Print Count, s
    Loop Until Num(NumLen) <>  0 
End Sub
...
Рейтинг: 0 / 0
Генератор всех паролей
    #33893546
atv_13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, генерация в Access-е в таблицу всех 21 млн. с копейками вариантов на Athlon-1900+ заняла ~6'40"
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Генератор всех паролей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]