1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Telegram VK Discord Служба поддержки База знаний
Скрыть объявление
В момент загрузки/запуска игры может возникнуть ряд проблем в том числе и появление ошибок.
По ССЫЛКЕ мы опишем самые распространённые из них.
Скрыть объявление
У игроков из Европы и стран СНГ, играющих на российских серверах, бывают трудности с оплатой.
Выход из этой ситуации найден!
Подробная информация по ССЫЛКЕ.

[12.07.2016] Занимательная профилактика: шифр

Тема в разделе "Архив занимательной профилактики", создана пользователем Eriss, 12 июл 2016.

  1. iKrockle

    iKrockle User

    Регистрация:
    03.01.13
    Сообщения:
    1.465
    Симпатии:
    1.000
    глядишь так криптографии научусь Т_Т. Ушел в печали изучать шифр и реализовывать шифратор и дешифратор на яве
     
  2. Трататашка

    Трататашка User

    Регистрация:
    10.03.14
    Сообщения:
    1.375
    Симпатии:
    373
    Как все сложно,я так шапку никогда не выиграю :(
     
  3. Лилуш_Британский

    Лилуш_Британский User

    Регистрация:
    29.05.15
    Сообщения:
    1.572
    Симпатии:
    831
    рад за победителей, однако подсказка настолько туманная, а шифров так много. дизлайк.
    В следующий раз можно будет использовать шифр гендальфа: Берём Ты не пройдёшь! присваиваем каждой букве порядковый номер от алфавита, складываем, полученное число означает смещение по снова таки алфавитной таблице, и вишенкой сверху полируем методом цезаря.
    Ну а в подсказке картинка как гендальф учит маленького цезаря альфавиту :)
     
    Последнее редактирование: 12 июл 2016
  4. Eriss

    Eriss User

    Регистрация:
    02.06.15
    Сообщения:
    1.718
    Симпатии:
    1.996
    У нас тут шифры не первый раз, и, судя по количеству ответов, все уже прожженные дешифраторы)
    Даже этот пример решат за раз)
     
  5. Eriss

    Eriss User

    Регистрация:
    02.06.15
    Сообщения:
    1.718
    Симпатии:
    1.996
  6. skyduke

    skyduke User

    Регистрация:
    28.08.14
    Сообщения:
    12
    Симпатии:
    2
    День на 5-й я б наверное додумался бы, если б с утра до вечера :))
     
  7. iKrockle

    iKrockle User

    Регистрация:
    03.01.13
    Сообщения:
    1.465
    Симпатии:
    1.000
    Код:
    package crypt;
     
    public class Crypt {
        static String alph="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
        public static void main(String[] args) {
            String cryptalph, word="РУКАСМЕРТИ", key="3136", crypt="";
            //Формируем ключ
            for(int x=(key.length()-1),i=0;x<(word.length()-1);x++,i++)
            {
                key=key+key.substring(i, i+1); 
            }
            //Шифрование по алфавиту
            for(int j=0;j<(word.length());j++)
            {
                //Формируем строку шифрования
                cryptalph = alph.substring(Integer.parseInt(key.substring(j,j+1)), alph.length())+alph.substring(0, Integer.parseInt(key.substring(j,j+1)));
                for(int i=0;i<(alph.length());i++)
                {
                    if(alph.substring(i,i+1).compareTo(word.substring(j,j+1))==0)
                    {
                        crypt=crypt+cryptalph.substring(i, i+1);
                    }
                }
            }
            
            word="";
            for(int j=0;j<crypt.length();j++)
            {
                //Формируем строку шифрования
                cryptalph = alph.substring(Integer.parseInt(key.substring(j,j+1)), alph.length())+alph.substring(0, Integer.parseInt(key.substring(j,j+1)));
                for(int i=0;i<(cryptalph.length());i++)
                {
                    if(cryptalph.substring(i,i+1).compareTo(crypt.substring(j,j+1))==0)
                    {
                        word=word+alph.substring(i, i+1);
                    }
                }
            }
            System.out.println(crypt);
            System.out.println(word);
        }
    демонстрация шифрования на яве написанная мной на коленке.
     
    Azalyn, CM Amarantha и Eriss нравится это.
  8. _Lis_

    _Lis_ User

    Регистрация:
    04.02.10
    Сообщения:
    1.922
    Симпатии:
    868
    А список победителей на занимашку со скриншотами когда ждать?)
     
  9. Greshnica69

    Greshnica69 User

    Регистрация:
    16.02.10
    Сообщения:
    1.747
    Симпатии:
    500
    Я сначала по гуглу пробила самые популярные виды шифров. Потом для себя отфильтровала те, где нужен или может пригодиться ключ. Труднее всего было понять, слово или набор цифр этот самый ключ, потому пробовала и так, и так, предварительно открыв страничку монстра на ла2вики :) Немного сбило в начале то, что по описанию должно было быть "Три слова - три имени монстров из мира Lineage 2 Classic". Т.е., плясала от того, что лишние буквы должны были вычеркиваться.
     
  10. Eriss

    Eriss User

    Регистрация:
    02.06.15
    Сообщения:
    1.718
    Симпатии:
    1.996
    На этой неделе
     
  11. Ice&Flame

    Ice&Flame User

    Регистрация:
    17.11.15
    Сообщения:
    222
    Симпатии:
    102
    Хорошо, что я пропустила эту занимашку, а то тут даже с готовым ключом я б неделю отгадывала:Laugh:
     
  12. iKrockle

    iKrockle User

    Регистрация:
    03.01.13
    Сообщения:
    1.465
    Симпатии:
    1.000
    Исправленный и отлаженный код на шифровку/дешифровку написаный на яве готов. Набросок немного косячный)
     
  13. iKrockle

    iKrockle User

    Регистрация:
    03.01.13
    Сообщения:
    1.465
    Симпатии:
    1.000
    Код:
    package CryptDecrypt;
     
    public class CryptDecrypt {
        static String alph="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ",cryptalph,crypt="ЖСЗЗРЙМЦЮЧГЦЯ",word="", key="3136",keyalph="0123456789";
        //0-зашифровать, 1-раскодировать
        static int cryptdecrypt=1;    
        public static void main(String[] args) {
            boolean a;        
            //Проверяем ключ
                  
            for(int i=0; i<key.length();i++)
            {
                a=false;
                for(int j=0;j<keyalph.length();j++)
                {
                    if(keyalph.substring(j,j+1).equals(key.substring(i,i+1))==true)
                        a=true;
                }
                if (a==false)
                {
                    System.out.println("Ключ должен содержать только цифры");
                    return;
                }
            }
            
            switch (cryptdecrypt)
            {
                case 0: for(int x=(key.length()-1),i=0;x<(word.length()-1);x++,i++)
                        {
                            key=key+key.substring(i, i+1); 
                        }
                        crypt="";
                        System.out.println(crypt(word,key));
                        break;
                
                case 1: for(int x=(key.length()-1),i=0;x<(crypt.length()-1);x++,i++)
                        {
                            key=key+key.substring(i, i+1); 
                        }
                        word="";
                        System.out.println(decrypt(crypt,key));
                        break;
            }   
        }
        
        static String crypt(String word, String key)
        {
            for(int j=0;j<(word.length());j++)
            {
                //Формируем строку шифрования
                cryptalph = alph.substring(Integer.parseInt(key.substring(j,j+1)), alph.length())+alph.substring(0, Integer.parseInt(key.substring(j,j+1)));
                for(int i=0;i<(alph.length()-1);i++)
                {
                    if(alph.substring(i,i+1).equals(word.substring(j,j+1))==true)
                    {
                        crypt=crypt+cryptalph.substring(i, i+1);
                    }
                }
            }
            return crypt;
        }
        
        static String decrypt(String crypt, String key)
        {
            for(int j=0;j<crypt.length();j++)
            {
                //Формируем строку шифрования
                cryptalph = alph.substring(Integer.parseInt(key.substring(j,j+1)), alph.length())+alph.substring(0, Integer.parseInt(key.substring(j,j+1)));
                for(int i=0;i<(cryptalph.length()-1);i++)
                {
                    if(cryptalph.substring(i,i+1).equals(crypt.substring(j,j+1))==true)
                    {
                        word=word+alph.substring(i, i+1);
                    }
                }
            }
            return word;
        }
    }
    

    Собственно рабочий код для тех кто разберется.
     
  14. Feofilakt

    Feofilakt User

    Регистрация:
    28.03.16
    Сообщения:
    35
    Симпатии:
    19
    Предлагаю зашифровать RSA-1024. Тогда все успеют попробовать свои силы.
     
  15. Boromir

    Boromir User

    Регистрация:
    10.03.10
    Сообщения:
    109
    Симпатии:
    30
    А когда вручат шапку цыпленка за комиксы? Посоны старались.
     
  16. Eriss

    Eriss User

    Регистрация:
    02.06.15
    Сообщения:
    1.718
    Симпатии:
    1.996
    Друзья, к сожалению начисления и за этот конкурс и за комиксы откладываются до следующей недели(
     
  17. DanceOnFire

    DanceOnFire User

    Регистрация:
    23.08.15
    Сообщения:
    497
    Симпатии:
    239
    Пиу пиу!) Теперь еще до следующей?:)
     
  18. Eriss

    Eriss User

    Регистрация:
    02.06.15
    Сообщения:
    1.718
    Симпатии:
    1.996
    Нет, должно быть начислено О_о
     
  19. DanceOnFire

    DanceOnFire User

    Регистрация:
    23.08.15
    Сообщения:
    497
    Симпатии:
    239
    Ага, увидел только пиродки - подумал что это с дайджеста пришло) Остальные награды смешались, не заметил их. )