hash passwords
Roland Bauerschmidt
rb at debian.org
Tue Jul 10 22:22:54 GMT 2001
I wrote a small patch against Samba 2.2 to get a tool (let's call it
hashsmbpasswd) to encrypt a given password as Samba does. I am using the
nt_lm_owf_gen function for that. This works fine for everything except
of the NT hash which is everytime the same and logically doesn't work.
Maybe somebody sees the flaw in this.
Roland
#include <stdio.h>
#include <string.h>
#include "includes.h"
#define CMDLINE
/*
* hashsmbpasswd -- hashes a passwd and prints the entries as in
* /etc/samba/smbpasswd
*/
int main(int argc, char *argv[])
{
char passwd[130];
uchar nt_p16[16];
uchar p16[16];
int i;
#ifdef CMDLINE
if(argc != 2) {
fprintf(stderr, "Usage: %s password\n", argv[0]);
exit(1);
}
strncpy(passwd, argv[1], 130);
/* we don't want the password in process list */
memset(argv[1], 0, strlen(argv[1]));
#else
fgets(passwd, 130, stdin);
passwd[strlen(passwd)-1] = '\0';
#endif
nt_lm_owf_gen(passwd, nt_p16, p16);
for(i = 0; i < 16; i++)
printf("%02X", nt_p16[i]);
printf("\n");
for(i = 0; i < 16; i++)
printf("%02X", p16[i]);
printf("\n");
printf("[U ]\n");
printf("LCT-%08X\n", time(NULL));
}
--
Roland Bauerschmidt
More information about the samba-technical
mailing list