Shahid Afridi had hit a century in 36 balls against Sri Lanka in 1997 played at Nairobi. Second fastest is by Sanat Jayasurya in 48 balls.
In 37 Balls by Shahid Afridi of Pakistan against Sri Lanka in 04.10.1996.s.r.270
In the recent world cup cricket Matthew Hayden of Australia hit the fastest century in world cup cricket matches. He scored an unbeaten century of 66 balls against South Africa. In the whole of cricket Sanath Jayasuriya of Sri Lanka made the fastest century.