Miller, who was dropped on nought, smacked 101 not out off 36 balls, reaching his century off 35 deliveries. He hit nine sixes, including five off successive balls from Mohammad Saifuddin, and seven fours.
“I was pretty scratchy to begin with,” he admitted to SuperSport television as he left the field. “But towards the back end it came out quite sweet.”
The left-hander’s innings could have ended off the second ball he faced as he gloved an attempted pull off Rubel Hossain. Bangladesh wicketkeeper Mushfiqur Rahim dived to his right and appeared to have caught the ball but lost control as he landed on the ground.
Miller shared a 79-run fourth wicket partnership off 41 balls with Hashim Amla, who made 85 off 51 balls with 11 fours and a six.
Bangladesh, seeking to end a poor tour on a high note, made a good start, restricting South Africa to 37 for two in the first five overs. Captain Shakib Al Hasan opened the bowling and sent down all his four overs in one spell, taking two for 22.
But his teammates could not sustain the pressure in the face of Miller’s onslaught. His five successive sixes came off the first five balls of the 19th over off Saifuddin after the 20-year-old medium-pacer had bowled impressively in his first three overs, taking the wickets of AB de Villiers and Amla and only conceding 22 runs.
The previous fastest T20 international century was made off 45 balls by fellow South African Richard Levi against New Zealand in Hamilton in 2011/12.
Miller was only the fourth South African to hit a century in 100 T20 internationals.
Download our app and read this and other great stories on the move. Available for Android and iOS.