Word for someone who has been through a lot of hardship and is therefore not naïve [closed]
I believe you are looking for Hardened
Hardened, from Oxford Living Dictionaries:
Experienced in a particular job or activity and therefore not easily upset by its more unpleasant aspects. "Hardened police officers"
Another appropriate word may be Veteran. This word is usually associated with people who have prior experience, while having the connotations of a survivor that has experienced a grim fate.
Veteran via Dictionary.com
A person who has had long experience in a particular field.
A person who has served in the military. "a veteran of two world wars"
Lastly, Seasoned has the positive aspects of both without being too aggressive in its connotation, and being more general.
Seasoned via Vocabulary.com
Rendered competent through trial and experience; Having knowledge or skill from observation or participation: "she is a seasoned traveler", "seasoned sportscasters"
Synonyms: experienced, practiced, well versed, knowledgeable, established, habituated, veteran, hardened, battle-scarred, battle-weary
Antonyms: inexperienced
Since you make a point of calling out going through hardship, we can say such an individual is tempered. One of the definitions of temper is:
: to make stronger and more resilient through hardship : toughen <troops tempered in battle>
Merriam-Webster