>  기사  >  백엔드 개발  >  .net 암호화 알고리즘

.net 암호화 알고리즘

巴扎黑
巴扎黑원래의
2016-12-19 16:28:091569검색

공개 정적 문자열 암호화(문자열 소스)
        {
           MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
            byte[] bytes = Encoding.UTF8.GetBytes(source);
            byte[] 출력 = md5.ComputeHash(바이트);

            return BitConverter.ToString(output);
        }
最常见적MD5加密,但不带解密。

DES加解密.
  공개 클래스 DES
    {
        비공개 상수 문자열 키 = "av&6^3*E";
       
        공개 정적 문자열 암호화(문자열 소스)
        {
            DESCryptoServiceProvider des = 새로운 DESCryptoServiceProvider();

            byte[] bytes = Encoding.UTF8.GetBytes(source);

           des.Key = ASCIEEncoding.ASCII.GetBytes(key);
            des.IV = ASCIIEncoding.ASCII.GetBytes(key);

            MemoryStream ms = new MemoryStream();
           CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

            cs.Write(bytes, 0, bytes.Length);
            cs.FlushFinalBlock();

            StringBuilder sb = new StringBuilder();
            foreach(ms.ToArray의 바이트 b)( ))
            {
                sb.AppendFormat("{0:X2}", b);
            }

            return sb.ToString();
        }

        공개 정적 문자열 복호화(문자열 소스)
        {
            if (소스 == null || source.Length == 0)
            {
               return source;
            }

            DESCryptoServiceProvider des = new DESCryptoServiceProvider() ;
            바이트[] 바이트 = 새 바이트[source.Length / 2];
            for (int x = 0; x             {
               int i =(Convert.ToInt32(source.Substring(x * 2, 2), 16));
               bytes[x] = (byte)i;
            }

           des.Key = ASCIEEncoding.ASCII.GetBytes(key);
            des.IV = ASCIIEncoding.ASCII .GetBytes(키);

            MemoryStream ms = 새 MemoryStream();
            CryptoStream cs = 새 CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
           cs.Write(bytes, 0, bytes.Length);
            cs .FlushFinalBlock();

            반환 Encoding.UTF8.GetString(ms.ToArray());
        }
    }


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