There is a ton of 'fear' or at least awareness about being at some disadvantage if a company knows your current salary. I personally think the only number that matters is your salary expectations.
If you are truly underpaid and you are aware of this, then your expectations might seem a bit high relative to where you are now, but not high if you consider the market. As an example, when candidates move to the US from foreign countries, they can see themselves earning double or even ten times what they made at home. If you make $10K US in India and tell the recruiter that, and the recruiter shares that info with the hiring company, do you really think the company is using that number as some baseline? Of course not. Expectation is the key number here.
If you are overpaid for a certain market (which can be dangerous from a career mobility perspective) and aware of it, usually due to some externality, your current salary makes little difference. When someone changes geographic markets, such as moving into or out of SF, their current compensation is basically thrown out the window. Should you have fear telling a recruiter that you were making 100K in Philadelphia when you are moving to SF? Your market value in SF may be closer to 150K, so current salary means little.
If you know your market value - and a good recruiter who knows a specific market should be able to price you out - discussing current salary doesn't matter much. When I'm working with underpaid candidates, I'll always mention to my client company that my candidate is underpaid and we expect that will be remedied during this job search.