На профессиональном уровне дебютировал за «Юность-Минск», затем переехал в «Гомель». После того, как был выбран командой «Сент-Луис Блюз» на драфте 2003 года переехал в юниорскую лигу Квебека, в клуб «Монктон Уайлдкэтс». Он забил 33 гола и помог своей команде сыграть в финале Президентского Кубка. После этого сезона он переехал в АХЛ, Worcester IceCats, но набрал там всего 14 очков в 59 играх. В следующем году провел часть сезона в Alaska Aces, а затем уехал в «Юность-Минск». Вернулся в Северную Америку в сезоне 2006/07 в команду Peoria Rivermen, но вернулся домой в конце сезона и снова играл за «Юность-Минск», и помог команде достичь трёх чемпионских титулов в период с 2009 и 2011 годов в сезоне 2009/2010 Захаров сыграл четыре игры в команде Континентальной хоккейной лиге в «Динамо» (Минск), но потом вернулся в «Юность-Минск». В сезоне 2013/14 Константин провел 44 матча за «Динамо» (Минск), в которых отдал 6 результативных передач. Также в его активе гол и результативная передача в Кубке Надежды. Летом 2014 года подписал контракт с «Динамо» (Минск) ещё на год.