crypto-y stuff in node from scratch