How can I trust my boyfriend after what he did to me?

Annie
My boyfriend and I have been together for a little over a year now. We were good up until the end of May. 
I've always been a bit insecure when my boyfriend said things that involved other girls or when he spoke about them. One day we got into an argument because of it and I decided to log into his snapchat. My intention wasn't to snoop around because I never thought I'd find anything. I did it be a I wanted to find someone's contact info. I've always trusted that he was committed to me & would never go behind my back and do anything unfaithful but when i log in, I see he has a random girl as one of his best friends. I've never heard of her so as soon as I see it, I freak out & decide to call & ask about her. He said she's some girl from middle school. I ask why he has her as a best friend and he says they sent snaps of food but it was nothing harmful. I was dubious in believing him so I asked if he had her as a friend on any other social media. He said no but later when he allowed me to sign into his facebook, I saw he had the girl as a friend. I ask why he lied about that and he said he knew I'd get upset again and he didn't think it was big deal since he never talks to her aside from a random snap.  I was really upset and broke up with him. I went back on his facebook and read his messages between his friend where he talks about how hot other girls are. I don't think that's okay and I was really hurt by that. He told me calling another girl hot doesn't mean anything to him and that it's equivalent to saying a girl's smart. I realized that I just kept finding things out 1 by 1 and decided to ask him forthrightly if he's done anything unfaithful to me. He admitted to watching porn twice but stopped because he realized how repulsive he felt afterwards and didn't feel the need to do it anymore. 
After yelling at him for days, he told me he'd change and not do any of those things again. The thing about that though is I wouldn't physically be able to see that change. All those things he did, he could continue doing because it's private and I'm not always with him 24/7. When I am though, I do see his phone and he doesn't have any messages from girls, he doesn't have any girls on snapchat, and he always tells me he loves me and is committed to me. I met his family and he tells me he wants to marry me and is in love with me. It's been 3 months since the incidents and I want to do us the favor of trusting him but I'm having trouble doing that. I always think negatively when he responds late, goes to the gym, is with his friends. I just feel like I gave him the benefit of the doubt for 11 months and the 1 day I decide to log into his accounts, I see all the horrible stuff he did. How can I trust him again?