コード例 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("MD5 und SHA Beispiel - Salt & Pepper");
            Console.WriteLine("====================================");

            //sollte aus einer anderen Quelle gelesen werden. Der Einfachheit halber wird ein String verwendet
            var pepper = "@ktdRdotewStee31223!!!33sdrt532sv224vvl420094";

            //Eingabe lesen und in ein Byte-Array verwandeln
            var salt = Salt("Benutzer");
            var bytes = new ASCIIEncoding().GetBytes(string.Format("{0}{1}{2}",Input(), salt, pepper));

            //MD5
            var md5 = new MD5Cng();
            string md5Hash = BitConverter.ToString(md5.ComputeHash(bytes)).Replace("-", "").ToLower();
            Console.WriteLine("MD5-Hash:\t{0}", md5Hash);

            //SHA1
            var sha1Cng = new SHA1Cng();
            string sha1Hash = BitConverter.ToString(sha1Cng.ComputeHash(bytes)).Replace("-","").ToLower();
            Console.WriteLine("SHA1-Hash:\t{0}", sha1Hash);

            //SHA256
            var sha256 = new SHA256Cng();
            string sha256Hash = BitConverter.ToString(sha256.ComputeHash(bytes)).Replace("-", "").ToLower();
            Console.WriteLine("SHA256-Hash:\t{0}", sha256Hash);

            Console.WriteLine("Beliebige Taste drücken zum beenden");
            Console.ReadKey();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("MD5 und SHA Beispiel");
            Console.WriteLine("====================");

            //Eingabe lesen und in ein Byte-Array verwandeln
            var bytes = new ASCIIEncoding().GetBytes(Input());

            //MD5
            var md5 = new MD5Cng();
            string md5Hash = BitConverter.ToString(md5.ComputeHash(bytes)).Replace("-", "").ToLower();
            Console.WriteLine("MD5-Hash:\t{0}", md5Hash);

            //SHA1
            var sha1Cng = new SHA1Cng();
            string sha1Hash = BitConverter.ToString(sha1Cng.ComputeHash(bytes)).Replace("-","").ToLower();
            Console.WriteLine("SHA1-Hash:\t{0}", sha1Hash);

            //SHA256
            var sha256 = new SHA256Cng();
            string sha256Hash = BitConverter.ToString(sha256.ComputeHash(bytes)).Replace("-", "").ToLower();
            Console.WriteLine("SHA256-Hash:\t{0}", sha256Hash);

            Console.WriteLine("Beliebige Taste drücken zum beenden");
            Console.ReadKey();
        }
コード例 #3
0
 private string ComputeHash(FileInfo filePath)
 {
     byte[] hash;
     using (FileStream fs = filePath.Open(FileMode.Open))
     {
         MD5 md5 = new MD5Cng();
         hash = md5.ComputeHash(fs);
     }
     return BitConverter.ToString(hash);
 }
コード例 #4
0
        public static string ComputeHash(string data)
        {
            if (string.IsNullOrEmpty(data))
                throw new ArgumentNullException("data");

            MD5 md5 = new MD5Cng();
            byte[] rawdata = Encoding.UTF8.GetBytes(data);
            byte[] hash = md5.ComputeHash(rawdata);

            return HttpUtility.UrlEncode(hash);
        }
コード例 #5
0
ファイル: UserProfile.cs プロジェクト: EinsteinSu/EsuCommon
 protected virtual string Encrypt(string input)
 {
     MD5 md5 = new MD5Cng();
     byte[] buffer = md5.ComputeHash(Encoding.UTF8.GetBytes(input));
     StringBuilder sb = new StringBuilder();
     foreach (var b in buffer)
     {
         sb.Append(b.ToString("x2"));
     }
     return sb.ToString();
 }
コード例 #6
0
 static void Main(string[] args)
 {
     rnd = new Random(12445324);
     chunks = RandomSequence(rnd, 6).Take(1000).ToList();
     var flag = "mars0_" + chunks[42] + chunks[13] + chunks[210];
     var md5 = new MD5Cng();
     md5Hash = md5.ComputeHash(Encoding.ASCII.GetBytes(flag)).Select(b => b.ToString("x2")).Aggregate("", (s, c) => s + c);
     Console.WriteLine(flag);
     MakeImage(s => s).Save(@"..\..\english.png", ImageFormat.Png);
     MakeImage(TranslateExtensions.ToMars).Save(@"..\..\mars.png", ImageFormat.Png);
 }
コード例 #7
0
ファイル: MD5HashExtensions.cs プロジェクト: evkap/MetaPortal
		public static String MD5HashString(this byte[] data)
		{
			if (data == null)
			{
				throw new ArgumentNullException("data");
			}

			using (var md5 = new MD5Cng())
			{
			    var hash = md5.ComputeHash(data);
			    return BitConverter.ToString(hash).Replace("-", "");
			}
		}
コード例 #8
0
ファイル: FileHelper.cs プロジェクト: sunoru/PBO
        /// <summary>
        /// compute the hash value of a file associated with the specified filePath
        /// </summary>
        /// <returns>null, if the file does not exist</returns>
        public static string GetFileHash(string filePath)
        {
            Contract.Requires(!PathHelper.IsInvalidPath(filePath));
            if (!File.Exists(filePath))
                return null;

            byte[] hash;
            using (var cng = new MD5Cng())//for performance
            {
                using (var stream = new FileStream(filePath, FileMode.Open))
                {
                    hash = cng.ComputeHash(stream);
                }
            }
            return Convert.ToBase64String(hash);
        }
コード例 #9
0
ファイル: HashUtilities.cs プロジェクト: Microsoft/sarif-sdk
        public static HashData ComputeHashes(string fileName)
        {
            try
            {
                using (FileStream stream = File.OpenRead(fileName))
                {
                    using (var bufferedStream = new BufferedStream(stream, 1024 * 32))
                    {
                        string md5, sha1, sha256;
                        byte[] checksum;

                        using (var md5Cng = new MD5Cng())
                        {
                            checksum = md5Cng.ComputeHash(bufferedStream);
                            md5 = BitConverter.ToString(checksum).Replace("-", string.Empty);
                        }

                        stream.Seek(0, SeekOrigin.Begin);
                        bufferedStream.Seek(0, SeekOrigin.Begin);

                        using (var sha1Cng = new SHA1Cng())
                        {
                            checksum = sha1Cng.ComputeHash(bufferedStream);
                            sha1 = BitConverter.ToString(checksum).Replace("-", string.Empty);
                        }

                        stream.Seek(0, SeekOrigin.Begin);
                        bufferedStream.Seek(0, SeekOrigin.Begin);

                        using (var sha256Cng = new SHA256Cng())
                        {
                            checksum = sha256Cng.ComputeHash(bufferedStream);
                            sha256 = BitConverter.ToString(checksum).Replace("-", string.Empty);
                        }

                        return new HashData(md5, sha1, sha256);
                    }
                }
            }
            catch (IOException) { }
            catch (UnauthorizedAccessException) { }
            return null;
        }
コード例 #10
0
ファイル: HashUtilities.cs プロジェクト: Microsoft/sarif-sdk
        public static string ComputeMD5Hash(string fileName)
        {
            string md5 = null;

            try
            {
                using (FileStream stream = File.OpenRead(fileName))
                {
                    using (var bufferedStream = new BufferedStream(stream, 1024 * 32))
                    {
                        using (var sha = new MD5Cng())
                        {
                            byte[] checksum = sha.ComputeHash(bufferedStream);
                            md5 = BitConverter.ToString(checksum).Replace("-", string.Empty);
                        }
                    }
                }
            }
            catch (IOException) { }
            catch (UnauthorizedAccessException) { }
            return md5;
        }
コード例 #11
0
        public static bool IsMd5Valid(string messageBody, string expectedMd5)
        {
            if (messageBody == null)
            {
                throw new ArgumentNullException("messageBody");
            }

            // Define the hash algorithm to use
            byte[] hashBytes;
            using (var hash = new MD5Cng())
            {
                hashBytes = hash.ComputeHash(Encoding.UTF8.GetBytes(messageBody));
                hash.Clear();
            }

            var messageBodyMd5 = hashBytes.ToHex();
            if (messageBodyMd5 == expectedMd5)
            {
                return true;
            }

            return false;
        }
コード例 #12
0
        /// <summary>
        /// MD5Cng
        /// 此类型的任何公共static成员都是线程安全的。但不保证所有实例成员都是线程安全的
        /// </summary>
        private static string Encrypt_static(string clearText, Encoding encode)
        {
            MD5 md5 = null;
            try
            {
                byte[] originalBytes = encode.GetBytes(clearText); //Encoding.UTF8.GetBytes(clearText);

                md5 = new MD5Cng();
                byte[] data = md5.ComputeHash(originalBytes);

                StringBuilder builder = new StringBuilder();
                foreach (var item in data)
                {
                    builder.Append(item.ToString("X2"));
                }

                return builder.ToString();
            }
            catch (ArgumentNullException) { return clearText; }
            catch (EncoderFallbackException) { return clearText; }
            //catch (TargetInvocationException) { return clearText; }
            catch (ObjectDisposedException) { return clearText; }
            catch (InvalidOperationException) { return clearText; }

            catch { return clearText; }
            finally
            {
                if (md5 != null)
                {
                    md5.Clear();
                    md5.Dispose();
                }

                md5 = null;
            }
        }
コード例 #13
0
ファイル: Utils.cs プロジェクト: anurse/ReviewR
            public string GetGravatarHash(string email)
            {
                Requires.NotNullOrEmpty(email, "email");

                MD5 m = new MD5Cng();
                return BitConverter.ToString(
                    m.ComputeHash(Encoding.UTF8.GetBytes(email.Trim().ToLower())))
                    .Replace("-", "")
                    .ToLower();
            }
コード例 #14
0
ファイル: Utility.cs プロジェクト: secana/PeNet
        /// <summary>
        ///     Compute the MD5 from a byte array.
        /// </summary>
        /// <param name="buff">Binary as a byte buffer.</param>
        /// <returns>MD5 as 32 characters long hex-string</returns>
        public static string MD5(byte[] buff)
        {
            var sBuilder = new StringBuilder();

            var sha = new MD5Cng();
            var hash = sha.ComputeHash(buff);

            foreach (var t in hash)
                sBuilder.Append(t.ToString("x2"));

            return sBuilder.ToString();
        }
コード例 #15
0
ファイル: Utility.cs プロジェクト: secana/PeNet
        /// <summary>
        ///     Compute the MD5 from a file.
        /// </summary>
        /// <param name="file">Path to the file</param>
        /// <returns>MD5 as 32 characters long hex-string</returns>
        public static string MD5(string file)
        {
            byte[] hash;
            var sBuilder = new StringBuilder();

            using (var sr = new StreamReader(file))
            {
                var sha = new MD5Cng();
                hash = sha.ComputeHash(sr.BaseStream);
            }

            foreach (var t in hash)
                sBuilder.Append(t.ToString("x2"));

            return sBuilder.ToString();
        }