In ordinary spoken U.S. English, there is no difference, and it is more common to use "can."
When I was in school in the 1960s, I was taught that "can" implies possibility, "may" implies permission. For example, suppose there is an unlocked door with a sign on it that says "Authorized Personnel Only." (Assume you are not authorized). Since it is unlocked, you can enter, but since you are not authorized, you may not enter.
In real life few people pay attention to this distinction, and it may even be a "grammar myth."
I see that the American Heritage Dictionary has a long and helpful usage note about this: