/* MD5 Make a hash of the data */
createIndentifier(vector);
/* Calculate the md5 digest */ secretlen = strlen(secret); memcpy(md5buf, secret, secretlen); memcpy(md5buf + secretlen, vector, RADIUS_RANDOM_VECTOR_LEN);
MD5_Init (&sum); MD5_Update (&sum, md5buf, secretlen + RADIUS_RANDOM_VECTOR_LEN); MD5_Final (digest, &sum);
memset(passbuf, 0, RADIUS_RANDOM_VECTOR_LEN); strcpy(passbuf, password);
for (i = 0; i < RADIUS_RANDOM_VECTOR_LEN; i++)
{
// run through the 16 values of the digest and XOR with password
result[i] = digest[i] ^ passbuf[i];
}Thanks,
Arun M.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

