To apply a digital signature to a piece of data, a secure hash function is used to build a digest of the data (for example, a 160-bit hash value), which is then transformed with the private key of the signer. Other users can then check the authenticity of the signature by reconstructing the hash value, and checking it against the inverse of the digital signature data. The Microsoft CryptoAPI abstracts the actual method of doing the signature, so that application developers need not be aware of the details of the signature mechanics.