17 сентября 2015 г.

1С Генератор паролей

Создает пароли необходимой длины и в нужном количестве, и записывает их в файл;

КолвоПаса=0;
ВвестиЧисло(КолвоПаса,"Количество паролей");
ДлинаПаса=0;
ВвестиЧисло(ДлинаПаса,"Длина паролей");

Латиница="bcdfghjklmnpqrstvwxyzaeiouy";
//Кириллица="абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
Символ="1234567890`~!@#$%^&*()}{][/?.,<>\|/+-_=:;'""";

МассивСимволов=Латиница+Символ;
ГСЧ=Новый ГенераторСлучайныхЧисел;
//МассивПаролей=Новый Массив;
Документ=Новый ТекстовыйДокумент;
НомерСтроки=1;
ВремДир="C:\Users\aa\AppData\Local\Temp"; // директория

Для Пароль=1 по КолвоПаса Цикл
 ГотовыйПароль="";
 Для Симв=1 по ДлинаПаса Цикл
  НеизвестныйНомер=ГСЧ.СлучайноеЧисло(1,СтрДлина(МассивСимволов));
  НовыйСимвол=Сред(МассивСимволов,НеизвестныйНомер,1);
  Если НеизвестныйНомер%2 И СтрНайти(Латиница,НовыйСимвол)>0 Тогда // попытка случайного регистра
   НовыйСимвол=ВРег(НовыйСимвол);
  КонецЕсли;
  ГотовыйПароль=ГотовыйПароль+НовыйСимвол;
 КонецЦикла;
 //МассивПаролей.Добавить(ГотовыйПароль);
 Документ.ВставитьСтроку(НомерСтроки,ГотовыйПароль);
 НомерСтроки=НомерСтроки+1;
КонецЦикла;
Документ.Записать(ВремДир+"\pass.txt"); //имя файла



Результат работы (4 пароля, длина 9):
/6"{(/,pX
E8uS|Z5Ey
0QO^"E!#B
u4k12y[i3

Комментариев нет:

Отправить комментарий