mirror of
https://github.com/samba-team/samba.git
synced 2025-02-28 01:58:17 +03:00
Merge of sam_pwd_hash() function from tng.
(This used to be commit b6cb6b837ac06d8b9cb898668e69236b64a8b698)
This commit is contained in:
parent
0dab2c3e31
commit
82a8f8a171
@ -397,3 +397,20 @@ void SamOEMhash( unsigned char *data, unsigned char *key, int val)
|
||||
data[ind] = data[ind] ^ s_box[t];
|
||||
}
|
||||
}
|
||||
|
||||
/* Decode a sam password hash into a password. The password hash is the
|
||||
same method used to store passwords in the NT registry. The DES key
|
||||
used is based on the RID of the user. */
|
||||
|
||||
void sam_pwd_hash(unsigned int rid, const uchar *in, uchar *out, int forw)
|
||||
{
|
||||
uchar s[14];
|
||||
|
||||
s[0] = s[4] = s[8] = s[12] = (uchar)(rid & 0xFF);
|
||||
s[1] = s[5] = s[9] = s[13] = (uchar)((rid >> 8) & 0xFF);
|
||||
s[2] = s[6] = s[10] = (uchar)((rid >> 16) & 0xFF);
|
||||
s[3] = s[7] = s[11] = (uchar)((rid >> 24) & 0xFF);
|
||||
|
||||
smbhash(out, in, s, forw);
|
||||
smbhash(out+8, in+8, s+7, forw);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user