Язык Go #2 | Шифр XOR, разбор аргументов CLI, packages, циклы, байты, слайсы, ошибки, base64

Поделиться
HTML-код
  • Опубликовано: 10 июн 2024
  • В этом уроке по языку Go мы напишем скрипт для шифрования/дешифрования с помощью XOR и рассмотрим множество интересных тем, начиная с байтов и слайсов и до разбора аргументов командной строки и обработки ошибок.
    Таймкоды:
    00:00 Введение
    01:00 Новый проект и принцип его работы
    03:40 Разбор аргументов CLI (flag)
    08:40 switch
    10:00 Ввод с клавиатуры (bufio)
    13:30 Обработка ошибки
    16:20 Создание package
    18:10 Использование функций из package
    21:20 Шифровка-дешифровка
    24:30 Цикл for и range
    28:00 Base64
    29:50 Функция Decipher
    31:20 Рефакторинг
    35:30 Вывод в stderr
    38:45 Заключение и задание
    Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам: / @ilyabodrovkrukowski
    Boosty: boosty.to/bodrovis
    Patreon: / bodrovis
    Аккаунт Ethereum (ETH), Arbitrum, Polygon, BNB, USDT, TRX, BUSD: 0x719C2d2bcC155c85190f20E1Cc3710F90FAFDa16
    Исходный код github.com/bodrovis-learning/...
    Канал Telegram: t.me/dev_in_ruby_colors
    Наш чат в Telegram: t.me/joinchat/MxYT6-01eeA1NTYy
    Мой сайт: bodrovis.tech

Комментарии • 15

  • @MajorPain
    @MajorPain 24 дня назад +2

    Огромное спасибо за ваш труд, материал и подача замечательные!

  • @user-kb8ik2mw5q
    @user-kb8ik2mw5q 8 дней назад +1

    Благодарю, что продолжаете го разбирать

  • @user-me5ry3vx1f
    @user-me5ry3vx1f 23 дня назад +1

    Узнал новые фишки)

  • @kelevra3468
    @kelevra3468 25 дней назад +1

    ❤❤❤

  • @norskiy9765
    @norskiy9765 27 дней назад +1

    Планируете ли вы делать в go разбор сокетов или http? Что еще планируете? Очень интересно)

    • @IlyaBodrovKrukowski
      @IlyaBodrovKrukowski  20 дней назад

      Криптография, cobra, возможно UI (пардон, YT почему-то скрыл комментарий)

    • @norskiy9765
      @norskiy9765 20 дней назад

      @@IlyaBodrovKrukowski ясненько, спасибо

  • @b33blebrox
    @b33blebrox 27 дней назад +1

    По какой-то необъяснимой причине в вашем примере в строку "test 123 тест!" в конце попал возврат каретки, что и дало результат HxcGH0tDR1hLo/e73qP0uulTeA== вместо правильного HxcGH0tDR1hLo/e73qP0uulT

    • @IlyaBodrovKrukowski
      @IlyaBodrovKrukowski  27 дней назад

      Хм. Вроде его там быть не должно, странно

    • @Alexamiru
      @Alexamiru 27 дней назад

      @@IlyaBodrovKrukowski Проблема возникает именно в Windows, функция getUserInput не удаляет символ возврата каретки ("
      ") в конце строки.
      // Удаляем
      (Windows) или
      (Unix)
      return strings.TrimRight(result, "
      ")

    • @IlyaBodrovKrukowski
      @IlyaBodrovKrukowski  27 дней назад

      @@Alexamiru да, я думаю, вы правы. Я и забыл про этот