コード例 #1
0
        private bool CompareHash(byte[] argument, byte[] etalon)
        {
            if (HashLength != etalon.Length)
            {
                throw new ArgumentOutOfRangeException(nameof(etalon));
            }

            byte[] hash;

            using (MD4 md4 = new MD4Managed())
            {
                hash = md4.ComputeHash(argument);
            }

            if (HashLength != hash.Length)
            {
                return(false);
            }

            for (int pos = 0; pos < HashLength; pos++)
            {
                if (hash[pos] != etalon[pos])
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #2
0
ファイル: MD4.cs プロジェクト: najachai/RDPUploader
    public static byte[] ComputeHash(byte[] input)
    {
        MD4Managed managed = new MD4Managed();

        managed.Initialize();
        return(managed.ComputeHash(input));
    }
コード例 #3
0
        public static string GetHashString(string s)
        {
            if (string.IsNullOrEmpty(s))
            {
                return(null);
            }

            var baValue = Encoding.GetBytes(s);

            var md4    = new MD4Managed();
            var baHash = md4.ComputeHash(baValue);

            return(BitConverter.ToString(baHash, 0).Replace("-", string.Empty));
        }
コード例 #4
0
ファイル: ChallengeResponse2.cs プロジェクト: vernon016/mono
        static byte[] Compute_NTLM_Password(string password)
        {
            var buffer = new byte [21];

            // create NT password
#if MOONLIGHT
            MD4Managed md4 = new MD4Managed();
#else
            MD4 md4 = MD4.Create();
#endif
            byte[] data = ((password == null) ? (new byte [0]) : (Encoding.Unicode.GetBytes(password)));
            byte[] hash = md4.ComputeHash(data);
            Buffer.BlockCopy(hash, 0, buffer, 0, 16);

            // clean up
            Array.Clear(data, 0, data.Length);
            Array.Clear(hash, 0, hash.Length);

            return(buffer);
        }
コード例 #5
0
 public void Setup()
 {
     hash = new MD4Managed();
 }