I'd say that it greatly depend on which site you're being asked to hack. If this is the owner that want to test his site, then I don't see any problem. Cracking, no problem I think. Reverse engineering, I don't excatly know what it is, so I couldn't help you on that.
No that's not what I meant , I meant someone else website and not yours so you could test your security .
Cracking (I mean cracking accounts [Games accounts , forums accounts , facebook/google/twitter .. whatever you have in mind) , Reverse Engineering is basically cracking applications that have Licence , Serial codes etc ...