>  기사  >  백엔드 개발  >  C#이 MD5 및 SHA1 파일을 얻는 방법에 대한 자세한 설명

C#이 MD5 및 SHA1 파일을 얻는 방법에 대한 자세한 설명

迷茫
迷茫원래의
2017-03-26 16:32:491298검색

처음 프로그래밍을 배우기 시작했을 때 저는 항상 작은 소프트웨어 장치를 직접 작성하는 것에 대해 생각했습니다.

이것은 SHA1이 추가된 클래식 파일 MD5 검사입니다.

인터넷에서 무언가를 다운로드할 때 작성자는 MD5 값을 제공합니다.

그 기능은 소프트웨어를 다운로드한 후 다운로드한 파일에 대해 MD5 검사를 수행하여 얻은 파일이 사이트에서 제공한 파일과 동일한지 확인할 수 있다는 것입니다.

그래서 MD5 검증툴이 필요하니 바이두에 가서 찾으면 되는데, 국내 다운로드 사이트는 말할 것도 없고... 번들로 되어있는 것들은 경계하기 어렵습니다.

그래서 프로그래머로서 직접 작성해 보세요.

이 가젯을 분석하기 위한 주요 요구 사항은

1. 경로에 따라 파일을 찾습니다.

2. MD5 가져오기

3. 🎜>

아주 간단한 작은 도구

첫 번째 방법은 FileInfo 클래스 생성자를 직접 사용하여 경로를 전달하는 방법입니다. 콘솔에 직접 파일을 끌어다 놓을 수 있기 때문에 매우 편리합니다. .

경로에 공백이 있으면 오류가 발생하므로 주의하세요.

이 방법에서 s는 들어오는 파일 경로를 나타냅니다

static void GetFile(string s)
        {
            try
            {
                FileInfo fi = new FileInfo(s);
                Console.WriteLine("文件路径:{0}", s);
                Console.WriteLine("文件名称:{0}", fi.Name.ToString());
                Console.WriteLine("文件类型:{0}", fi.Extension.ToString());
                Console.WriteLine("文件大小:{0} K", fi.Length / 1024);
                Console.WriteLine("文件创建时间:{0}", fi.CreationTime.ToString());
                Console.WriteLine("上次访问时间:{0}", fi.LastAccessTime.ToString());
                Console.WriteLine("上次写入时间:{0}", fi.LastWriteTime.ToString());
            }
            catch (Exception ex) 
            {
                Console.WriteLine(ex.Message);
            }
        }

두 번째 방법은 MD5 값을 얻습니다. 이 방법에서 s는 들어오는 파일 경로를 나타냅니다

MD5는 전체 파일은 큰 텍스트 메시지로 처리되며 되돌릴 수 없는 문자열 변환 알고리즘을 통해 이 고유한 MD5 메시지 다이제스트가 생성됩니다.

static void GetMD5(string s)
        {
            try
            {
                FileStream file = new FileStream(s,FileMode.Open);
                MD5 md5 = new MD5CryptoServiceProvider();
                byte[] retval = md5.ComputeHash(file);
                file.Close();

                StringBuilder sc = new StringBuilder();
                for (int i = 0 ; i<retval.Length ; i++ )
                {
                    sc.Append(retval[i].ToString("x2"));
                }
                Console.WriteLine("文件MD5:{0}",sc);
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

세 번째 방법은 SHA1 값을 얻는 것입니다. 이 방법에서 s는 수신 파일 경로를 나타냅니다.

SHA1은 길이가 2^ 미만인 메시지의 경우 보안 해시 알고리즘이라고 합니다. 64비트, SHA1은 160비트 메시지 다이제스트를 생성합니다.

SHA1에는 다음과 같은 특징이 있습니다. 메시지 다이제스트에서 정보를 복구할 수 없습니다. 두 개의 서로 다른 메시지는 동일한 메시지 다이제스트를 생성하지 않지만 동일한 메시지 다이제스트가 나타날 확률은 1x10^48입니다. 일반적인 사용에서는).

아아아아

위 내용은 C#이 MD5 및 SHA1 파일을 얻는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.