Charlize Theron was 31 in Hancock when she played the character 'Mary Embrey'.
That was over 16 years ago in 2008.
Today she is 48, and has starred in 70 movies in total, 33 of those since Hancock was released.
In Hancock, I think Charlize Theron looks: