/// <summary> /// This constructor is here to implement the clonability of this class /// </summary> /// <param name = "md"> </param> private MD4(MD4 md) : this() { //this(); context = (uint[])md.context.Clone(); buffer = (byte[])md.buffer.Clone(); count = md.count; }
/// <summary> /// Returns a byte hash from the input byte /// </summary> /// <param name = "b">byte to hash</param> /// <returns>binary hash of the input byte</returns> public byte[] GetByteHashFromByte(byte b) { var md4 = new MD4(); md4.EngineUpdate(b); return(md4.EngineDigest()); }
/// <summary> /// Returns a binary hash from an input byte array /// </summary> /// <param name = "b">byte-array to hash</param> /// <returns>binary hash of input</returns> public byte[] GetByteHashFromBytes(byte[] b) { var md4 = new MD4(); md4.EngineUpdate(b, 0, b.Length); return(md4.EngineDigest()); }
/// <summary> /// Returns a byte hash from a string /// </summary> /// <param name = "s">string to hash</param> /// <returns>byte-array that contains the hash</returns> public byte[] GetByteHashFromString(string s) { byte[] b = Encoding.UTF8.GetBytes(s); var md4 = new MD4(); md4.EngineUpdate(b, 0, b.Length); return(md4.EngineDigest()); }
public static byte[] getNtlmHash(string password) { /* * Creates the NTLM hash, this is the MD4 of the the password */ byte[] ntlmHash = new byte[16]; UnicodeEncoding unicode = new UnicodeEncoding(); MD4 md4 = new MD4(); ntlmHash = md4.GetByteHashFromBytes(unicode.GetBytes(password)); return(ntlmHash); }