Plot hole: For the supposed code that hacks into UK system, Sherlock deduces that the finger taps are counted as 1s in the binary code and the rest (while Moriarty's fingers are in the air) are taken as 0s. Sherlock can't know the rate at which the rests are counted in the binary code that he thinks Moriarty tapped out. So even if the key code was real, he wouldn't have known what it was.
Plot hole: Sherlock enters Magnussen's quarters after Janine lets him in, believing he is going to propose to her. 12 minutes later (which, in film time, is several days later) she is enjoying her "revenge with profits" on Sherlock because she knows his proposal pretext was a lie. Problem: There is no way she could have found that out. She was out cold moments after letting Sherlock in, and Sherlock himself was shot by an assailant, which he had misidentified, before giving his intention away. Someone could have suggested it to her but he or she would have had a very hard time, because it's their words against Sherlock's. The only people whose words would have been more credible because of being on scene are Watson (who wouldn't tell) and Magnussen (whom Janine knows to be in the premium lying business). In fact, if I were the director, I wouldn't bother making up a motive for being a "grasping, opportunistic, publicity-hungry, tabloid whore" (film's own quote). This is ipso facto a motive. People love "profits", not just "revenge with profits." (00:31:00 - 00:43:00)FleetCommand