org.gnu.jcifs
Class CifsLogin

java.lang.Object
  |
  +--org.gnu.jcifs.CifsLogin
All Implemented Interfaces:
java.lang.Cloneable

public class CifsLogin
extends java.lang.Object
implements java.lang.Cloneable

CifsLogon holds user authentication data

Since:
1.0

Constructor Summary
CifsLogin()
          Creates a new object.
CifsLogin(java.lang.String password)
          Creates a new object.
CifsLogin(java.lang.String account, java.lang.String password)
          Creates a new object
 
Method Summary
 java.lang.Object clone()
          Clone this object
static void E_P16(byte[] p14, byte[] p16)
           
 boolean equals(java.lang.Object obj)
          Compares if the two object are the same (same account and password)
 java.lang.String getAccount()
          Returns the account name
(package private) static byte[] getAuthData(byte[] s21, byte[] c8)
          Encrypts password
(package private) static byte[] getChangePasswordData(java.lang.String oldpwd, java.lang.String newpwd)
          +----------------------+ | | | new password + 512 | new password len + 516 | encrypted hash | +----------------------+
(package private) static byte[] getLMAuthData(java.lang.String password, byte[] c8)
          Makes LM authentication response data
(package private) static byte[] getLMOWF(java.lang.String password)
           
(package private) static byte[] getNTAuthData(java.lang.String password, byte[] c8)
          Makes NT authentication response data
(package private) static byte[] getNTSessionKey(java.lang.String password)
          S16 = MD4(U(PN)) S21 = concat(S16,zeros(5))
(package private)  java.lang.String getPassword()
          Returns the password
(package private) static byte[] getPasswordBytesAscii(java.lang.String password)
          Returns the password as byte array.
(package private) static byte[] getPasswordBytesUnicode(java.lang.String password)
          Returns the password as a byte array.
(package private) static void SamOEMHash(byte[] data, byte[] key, int val)
          Code from samba
 void setAccount(java.lang.String account)
          Sets the account name
 void setPassword(java.lang.String password)
          Sets the password
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CifsLogin

public CifsLogin()
Creates a new object. The user name is the name in the system property user.name

CifsLogin

public CifsLogin(java.lang.String password)
Creates a new object. The user name is the name in the system property user.name
Parameters:
password - user password

CifsLogin

public CifsLogin(java.lang.String account,
                 java.lang.String password)
Creates a new object
Parameters:
account - user name
password - user password
Method Detail

setAccount

public void setAccount(java.lang.String account)
Sets the account name
Parameters:
account - user name

setPassword

public void setPassword(java.lang.String password)
Sets the password
Parameters:
password - password

getAccount

public java.lang.String getAccount()
Returns the account name
Returns:
account name

getPassword

java.lang.String getPassword()
Returns the password
Returns:
password

equals

public boolean equals(java.lang.Object obj)
Compares if the two object are the same (same account and password)
Overrides:
equals in class java.lang.Object
Parameters:
obj - the object to test
Returns:
true of obj is the same CifsLogin object

clone

public java.lang.Object clone()
Clone this object
Overrides:
clone in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getNTAuthData

static byte[] getNTAuthData(java.lang.String password,
                            byte[] c8)
Makes NT authentication response data
Parameters:
password - password
c8 - challange
Returns:
byte[24] authentication data

getLMAuthData

static byte[] getLMAuthData(java.lang.String password,
                            byte[] c8)
Makes LM authentication response data
Parameters:
password - password
c8 - challange
Returns:
byte[24] authentication data

getAuthData

static byte[] getAuthData(byte[] s21,
                          byte[] c8)
Encrypts password
Parameters:
s21 - Session key
c8 - challange
Returns:
byte[24]

getNTSessionKey

static byte[] getNTSessionKey(java.lang.String password)
S16 = MD4(U(PN)) S21 = concat(S16,zeros(5))

E_P16

public static void E_P16(byte[] p14,
                         byte[] p16)

getLMOWF

static byte[] getLMOWF(java.lang.String password)

getChangePasswordData

static byte[] getChangePasswordData(java.lang.String oldpwd,
                                    java.lang.String newpwd)
+----------------------+ | | | new password + 512 | new password len + 516 | encrypted hash | +----------------------+

getPasswordBytesUnicode

static byte[] getPasswordBytesUnicode(java.lang.String password)
Returns the password as a byte array. Each Unicode character is represented by the 2 bytes in Intel byte-order (little-endian)
Parameters:
password - password
Returns:
byte array

getPasswordBytesAscii

static byte[] getPasswordBytesAscii(java.lang.String password)
Returns the password as byte array. The byte array contains the Ascii characters and null terminated
Parameters:
password - password
Returns:
byte array

SamOEMHash

static void SamOEMHash(byte[] data,
                       byte[] key,
                       int val)
Code from samba