c \ # 의 MD5 암호 화 문자열 과 암호 화 파일

실제 작업 당시 에는 슬 픈 csdn 비밀번호 가 누 출 된 문자열 의 암호 화 처리 가 적지 않 았 다. 이 시스템 은 사용자 의 비밀 번 호 를 명문 으로 데이터베이스 에 저장 하기 때문에 사용자 의 비밀 번 호 를 md5 로 처리 한 후에 관리자 가 데이터베이스 에 로그 인하 더 라 도 사용자 의 비밀 번 호 를 식별 하지 못 하고 안전 에 있어 서 는 비밀 을 지 켰 다.
일반 md5 암호 화 는 문자열 암호 화 와 파일 암호 화 두 가지 로 나 뉜 다.여기 서 말 하 는 암호 화 는 엄밀 하지 않 은 표현 일 뿐 실제 적 으로 암호 화 된 것 이 아니 라 해시 알고리즘 일 뿐 거 스 를 수 없다. 즉, md5 값 을 받 으 면 소스 문자열 이나 소스 파일 내용 을 되 돌 릴 수 없다. 만약 에 거 스 를 수 있다 면 우리 가 md5 값 을 얻 으 면 1T 의 푸 른 빛 고 화질 영 화 를 되 돌 릴 수 있다 는 것 이 얼마나 무 서운 일 인지 생각해 보 자.
 
 
#region 1.  md5 

        public static string GetMD5(string msg)
        {
            StringBuilder sb = new StringBuilder();

            using (MD5 md5=MD5.Create())
            {
                byte[] buffer = Encoding.UTF8.GetBytes(msg);
                byte[] newB = md5.ComputeHash(buffer);

                foreach (byte item in newB)
                {
                    sb.Append(item.ToString("x2"));
                }
            }

            return sb.ToString();
        }

        #endregion
#region 2       MD5

        public static string GetFileMD5(string filepath)
        {
            StringBuilder sb = new StringBuilder();
            using (MD5 md5=MD5.Create())
            {
                using (FileStream fs=File.OpenRead(filepath))
                {
                    byte[] newB = md5.ComputeHash(fs);
                    foreach (byte item in newB)
                    {
                        sb.Append(item.ToString("x2"));
                    }
                }
            }

            return sb.ToString();
        }

        #endregion

좋은 웹페이지 즐겨찾기