Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 16:46

Шифр Бекона На 1С

Автор VAVANSTR, 31 мар 2023, 11:03

0 Пользователей и 1 гость просматривают эту тему.

VAVANSTR

Если кому-то пригодится для контрольной или для конфиденциальной инфы, решил сохранить написанный мной алгоритм шифрования Бекона на 1С

Процедура ШифрБеконаНа1С()
   
   текБуква   = "";
   ДлинаСтроки   = 0;
   ИтогСтрока   = "";
   
   Текст = Новый ЧтениеТекста;
   
   Текст.Открыть("C:\Док.txt");             
   
   //Раскладываем строчку из файла
   текСтрока = Текст.ПрочитатьСтроку();   
   Пока текСтрока <> Неопределено Цикл
      
      ДлинаСтроки = СтрДлина(текСтрока);
      ТекНомСтроки = 1;
      Пока ТекНомСтроки <= ДлинаСтроки Цикл
         текБуква = Сред(текСтрока, ТекНомСтроки, 1);
         Если (текБуква = "A")
            ИЛИ (текБуква = "B") ИЛИ (текБуква = "C") ИЛИ (текБуква = "D")
            ИЛИ (текБуква = "E") ИЛИ (текБуква = "F") ИЛИ (текБуква = "G")
            ИЛИ (текБуква = "H") ИЛИ (текБуква = "I") ИЛИ (текБуква = "J")
            ИЛИ (текБуква = "K") ИЛИ (текБуква = "L") ИЛИ (текБуква = "M")
            ИЛИ (текБуква = "N") ИЛИ (текБуква = "O") ИЛИ (текБуква = "P")
            ИЛИ (текБуква = "R") ИЛИ (текБуква = "S") ИЛИ (текБуква = "T")
            ИЛИ (текБуква = "U") ИЛИ (текБуква = "V") ИЛИ (текБуква = "W")
            ИЛИ (текБуква = "X") ИЛИ (текБуква = "Y") ИЛИ (текБуква = "Z")
            ИЛИ (текБуква = "А") ИЛИ (текБуква = "Б") ИЛИ (текБуква = "В")
            ИЛИ (текБуква = "Г") ИЛИ (текБуква = "Д") ИЛИ (текБуква = "Е")
            ИЛИ (текБуква = "Ё") ИЛИ (текБуква = "Ж") ИЛИ (текБуква = "З")
            ИЛИ (текБуква = "И") ИЛИ (текБуква = "Й") ИЛИ (текБуква = "К")
            ИЛИ (текБуква = "Л") ИЛИ (текБуква = "М") ИЛИ (текБуква = "Н")
            ИЛИ (текБуква = "О") ИЛИ (текБуква = "П") ИЛИ (текБуква = "Р")
            ИЛИ (текБуква = "С") ИЛИ (текБуква = "Т") ИЛИ (текБуква = "У")
            ИЛИ (текБуква = "Ф") ИЛИ (текБуква = "Х") ИЛИ (текБуква = "Ц")
            ИЛИ (текБуква = "Ч") ИЛИ (текБуква = "Ш") ИЛИ (текБуква = "Щ")
            ИЛИ (текБуква = "Ъ") ИЛИ (текБуква = "Ы") ИЛИ (текБуква = "Ь")
            ИЛИ (текБуква = "Э") ИЛИ (текБуква = "Ю") ИЛИ (текБуква = "Я") Тогда
            ИтогСтрока = ИтогСтрока + "B";
         Иначе
            ИтогСтрока = ИтогСтрока + "A";
         КонецЕсли;
         ТекНомСтроки = ТекНомСтроки + 1;
      КонецЦикла;
      
      Сообщить(ИтогСтрока);
      
      Строка = Текст.ПрочитатьСтроку();
      
   КонецЦикла;
   
   //Расшифровка
   ДлинаСтроки = СтрДлина(ИтогСтрока);
   ТекНомСтроки = 1;
   Пока ТекНомСтроки <= ДлинаСтроки Цикл
      текБуква = Сред(ИтогСтрока, ТекНомСтроки, 5);
      Если (текБуква = "AAAAA") Тогда
         Сообщить("a");
      ИначеЕсли (текБуква = "AAAAB") Тогда
         Сообщить("b");
      ИначеЕсли (текБуква = "AAABA") Тогда
         Сообщить("c");
      ИначеЕсли (текБуква = "AAABB") Тогда
         Сообщить("d");
      ИначеЕсли (текБуква = "AABAA") Тогда
         Сообщить("e");
      ИначеЕсли (текБуква = "AABAB") Тогда
         Сообщить("f");
      ИначеЕсли (текБуква = "AABBA") Тогда
         Сообщить("g");
      ИначеЕсли (текБуква = "AABBB") Тогда
         Сообщить("h");
      ИначеЕсли (текБуква = "ABAAA") Тогда
         Сообщить("i");
      ИначеЕсли (текБуква = "BBBAA") Тогда
         Сообщить("j");
      ИначеЕсли (текБуква = "ABAAB") Тогда
         Сообщить("k");
      ИначеЕсли (текБуква = "ABABA") Тогда
         Сообщить("l");
      ИначеЕсли (текБуква = "ABABB") Тогда
         Сообщить("m");
      ИначеЕсли (текБуква = "ABBAA") Тогда
         Сообщить("n");
      ИначеЕсли (текБуква = "ABBAB") Тогда
         Сообщить("o");
      ИначеЕсли (текБуква = "ABBBA") Тогда
         Сообщить("p");
      ИначеЕсли (текБуква = "ABBBB") Тогда
         Сообщить("q");
      ИначеЕсли (текБуква = "BAAAA") Тогда
         Сообщить("r");
      ИначеЕсли (текБуква = "BAAAB") Тогда
         Сообщить("s");
      ИначеЕсли (текБуква = "BAABA") Тогда
         Сообщить("t");
      ИначеЕсли (текБуква = "BABAA") Тогда
         Сообщить("u");
      ИначеЕсли (текБуква = "BABAB") Тогда
         Сообщить("v");
      ИначеЕсли (текБуква = "BABBA") Тогда
         Сообщить("w");
      ИначеЕсли (текБуква = "BABBB") Тогда
         Сообщить("x");
      ИначеЕсли (текБуква = "BBAAA") Тогда
         Сообщить("y");
      ИначеЕсли (текБуква = "BBAAB") Тогда
         Сообщить("z");
      Иначе         
         Сообщить("");
      КонецЕсли;
      
      ТекНомСтроки = ТекНомСтроки + 5;
   КонецЦикла;
   
КонецПроцедуры;

ksksksUS

Всем доброго дня!
Меня зовут Ксюша, и я ищу программиста 1С, который ранее был бухгалтером. Хочу взять интервью и услышать историю пути. Это может быть и начинающий программист, без большого опыта. Или среди участников форума есть такие знакомые.
Очень жду обратную связь!

Рейтинг@Mail.ru

Поиск