PASSWD.C :

it ask you a login name and a standard password
the login name is stored in the PASSWD.TXT file
the password is encrypted (hashed) and stored in the PASSWD.TXT file

There is no way to inverse the process and to obtain the standard password
from the hashed password.

TESTP.C :

it ask you a login name, verify if it exists in the PASSWD.TXT file
if yes, it ask you the password.
the password is encrypted (hashed) and compared with the hashed password
stored in the PASSWD.TXT file

if the two are same then password is correct, if not they are incorrect

TESTP.C doesn't decrypt hashed password stored in the PASSWD.TXT file
It only encrypt (hashed) the standard password with an one way hash function
and compare the hashed result with the hashed password stored in the PASSWD.TXT file


The Hash function (PSCHF : Pukall Stream Cipher Hash Function) is based
on the PC1 Cipher with 256 bits key.

The code can be use freely with no money to give me, even for commercial applications.

A PASSWD.TXT file is joined, you can test if you can find the password :

the login name is :jsmith
the hashed password is :hnkbkggjgecnkdleeadhkbfifnojajgmmpnfdlalknmapdnfgefibebkhejhdkei

the second login name is :lworth
the hashed password is :kgpphdaoejhmfmfghjimdcpnigefclocinfmkcejdkckkpnkhpabokfikmhkimob
