what brand whey are you taking? if you're lactose intolerant, the cheap whey protein powders could be the cause of your problem. either switch up to an isolate or go with egg.
try brushing your teeth before you get high. sometimes, thatll deter you from giving in. also try chewing gum, which is hard because of cottonmouth, but the mintiness retards cravings for me, and you probably drink plenty of liquids when high anyway.