History is mostly guessing; the rest is prejudice. - Will Durant
The word 'Hindu' has its origin in Sanskrit literature. In the Rig Veda, Bharat is referred to as the country of 'Sapta Sindhu', i.e. the country of seven great rivers. The word 'Sindhu' refers to rivers and sea and not merely to the specific river called 'Sindhu'. In Vedic Sanskrit, according to ancient dictionaries, 'sa' was pronounced as 'ha'. Thus 'Sapta Sindhu' was pronounced as 'Hapta Hindu'. This is how the word 'Hindu' came in to being. The ancient Persians also referred to Bharat as 'Hapta Hind', as recorded in their ancient classic 'Bem Riyadh'. That is why some scholars came to believe that the word 'Hindu' had its origin in Persia. The Greeks, who invaded Bharat under Alexander, dropped 'H' and used the name Indoos or Indus, which later led to the formation of the word 'India'.
From www.balagokulam.org