1. A method for authenticating download of a digital content file ordered from a web site, the method comprising steps of: receiving a selection of the digital content file with the web site from a client; calculating a first code indicative of the digital content file, wherein if the digital content file is changed, the first code changes, and further wherein the first code is unique to the client; sending the digital content file to a client computer; sending the first code to the client computer; sending a media identifier to the client computer, wherein: the media identifier comprises a unique code, and the unique code correlating the digital content file to license information and correlating the digital content file to the client; storing the media identifier in a remote database cross-referenced to each of: the digital content file, the client, and the license information; storing the media identifier in a local database coupled to the client computer; calculating a second code indicative of the digital content file after the client computer received the digital content file, wherein the calculating step is configured to be repeated a number of times after download; re-sending the digital content file if the client computer determines the first code doesn't match the second code; when a new version of the digital content file is available: calculating a new first code indicative of the new version of the digital content file, wherein: if the new version of the digital content file is changed, the new first code changes, and the new first code is unique to the client, sending the new first code to the client computer, and sending the new version of the digital content file to the client computer when the client computer determines, during one of the repeated calculations of the second code, that the new first code doesn't match the second code; and when a license for the digital content file expires, performing the steps of: replacing the first code with a different first code, wherein the different first code is different than the first code, sending the different first code to the client computer, and not sending the digital content file when the client computer determines, during one of the repeated calculations of the second code, that the different first code doesn't match the second code.