За­дачи перебо­ра — путей, паролей, хешей или еще чего‑то — выгод­но выпол­нять парал­лель­но. И язык Go здесь под­ходит как нель­зя луч­ше. Сегод­ня мы осво­им кон­цепцию горутин — лег­ковес­ных потоков, которы­ми управля­ет собс­твен­ный пла­ниров­щик в user space, а не ОС, что радикаль­но меня­ет наг­рузку на сис­тему. Заод­но напишем свой фаз­зер под­доменов. В этой и пос­леду­ющих стать­ях мы раз­берем основные при­емы работы с горути­нами, иллюс­три­руя их прос­тыми задача­ми на перебор зна­чений. Мы не будем силь­но пог­ружать­ся в саму методи­ку перебо­ра — фаз­зинга, хеш­кре­кин­га и так далее