This tutorial explains how to use the Hash API.
There are a couple of ways to interact with the hash framework. The following example is probably the most common:
_LIT(messagePart1, "Hello "); _LIT(messagePart2, "My "); _LIT(messagePart3, "Name "); _LIT(messagePart4, "is Fred"); TBuf8<20> hash; CSHA1* sha1 = CSHA1::NewL(); sha1->Update(messagePart1); sha1->Update(messagePart2); sha1->Update(messagePart3); hash.Copy(sha1->Final(messagePart4));
Note that Final()
has a version that
takes no data parameter which may be useful in certain situations.
A few pointers:
You can reuse
a hash object by calling Reset()
.
Both versions
of Final()
call Reset()
at the end
of their function automatically.
Be aware that
the returned TPtrC8
from Final()
points to an internal buffer. Calling Update()
or Final()
again changes the contents of this buffer and will
destroy your previously computed hash. As in the example above, make
sure you copy the data out if you need it.
Unless you have a specific need to support certain hashes, use SHA-1.