The problem with the other answers so far is that they don't describe a person who displays two conflicting qualities at the same time.
A 'wolf in sheep's clothing' is someone who presents themselves in a false way to hide their true intentions - seemingly benevolent characteristics are actually part of their malevolent plans, not a separate facet of their personality. Likewise, a 'Jekyll and Hyde' character is someone who changes their personality so starkly that they are like two different persons. It can describe someone who has violent mood swings, quickly changing from calm to angry, for example.
What you seem to be describing is someone who has contradictory qualities - they display good in some areas of their life, but evil in others.
You might say that such a person had "a dark side to their personality". Another expression is to say that they are "a walking contradiction" (or simply 'a contradictory person'). I've heard a number of screenwriters use the phrase "Hitler loved dogs" as a way of stating that fictional characters, like real people, are not always easy to categorise, and that no single person is either all good or all bad.