This article explains a simple way of implementing digest
protocol in C#. A sample application is provided which shows how
it is calculated in a step by step manner. In HTTP protocol for
authentication, we use different types of protocols: basic,
digest and Kerberos. 1. Basic Authentication This is most
unsecured because it uses plain text transfer of both userid and
password to the server. 2. Digest Authentication This method
provides safety up to a certain level. The password is not
passed by the client, instead server and client generate a 32
bit key with that password is hashed by a defined algorithm. The
communication is attribute value strings and lots of parameters
are optional. Due to this, it is vulnerable for middle level
hackers who can hack the string and alter it with basic
authentication or remove some of the digest optional values.
This is considered one of the most secured ways. Authentication
is not done in one or two steps. The challenge and response is a
process of few steps with tickets fo