Quote from gma »SHA1 does generate duplicates in some cases. The unique id problem was solved a couple of months ago, though. I believe one has to use a string which contains (english card name + expansion name + image name) to generate an unique SHA1.
Aye, you are correct, it is indeed unique and the SHA1 card 'id' is made up of (setCode + cardName + cardImageName). It's mentioned in the mtgjson docs.