예제 #1
0
        public static string MD5Encrypt(string normalTxt)
        {
            var bytes = Encoding.Default.GetBytes(normalTxt);              //求Byte[]数组
            var Md5   = new MD5CryptoServiceProvider().ComputeHash(bytes); //求哈希值

            Console.WriteLine(Md5.ToString());
            return(Convert.ToBase64String(Md5));//将Byte[]数组转为净荷明文(其实就是字符串)
        }
예제 #2
0
        public IEnumerable <WeatherForecast> Get(string username, string password)
        {
            var rng           = new Random();
            var hashProvider1 = new MD5CryptoServiceProvider();

            var user = new User()
            {
                Email    = username,
                Login    = username,
                Password = password,
                Name     = rng.ToString(),
                Role     = hashProvider1.ToString()
            };

            if (user == null)
            {
                return(null);
            }

            string test = GetUserDetails(username, password);

            if (!string.IsNullOrEmpty(test))
            {
                return(null);
            }

            byte[]          myByteArray = new byte[10];
            BinaryFormatter formatter   = new BinaryFormatter();
            IEnumerable <WeatherForecast> enumerable = (IEnumerable <WeatherForecast>)formatter.Deserialize(new MemoryStream(myByteArray));

            if (enumerable.Any())
            {
                return(null);
            }

            var resolver = new XmlUrlResolver();
            var settings = new XmlReaderSettings
            {
                DtdProcessing = DtdProcessing.Parse,
                XmlResolver   = resolver
            };

            XmlReader reader = XmlReader.Create("items.xml", settings);

            _logger.LogDebug("test");



            return(Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
                   .ToArray());
        }
예제 #3
0
        public static string MD5(string sSourceData)
        {
            byte[] tmpSource;
            byte[] tmpHash;
            sSourceData = "MySourceData";

            //Create a byte array from source data.
            tmpSource = ASCIIEncoding.ASCII.GetBytes(sSourceData);
            tmpHash   = new MD5CryptoServiceProvider().ComputeHash(tmpSource);

            return(tmpHash.ToString());
        }
예제 #4
0
        public bool CheckLogin(string username, string password)
        {
            byte[] temp    = ASCIIEncoding.ASCII.GetBytes(password);           // Lấy ra 1 mảng kiểu byte từ chuỗi
            byte[] hasdata = new MD5CryptoServiceProvider().ComputeHash(temp); // Hash theo mã của máy tính, băm cái pass ra 1 đống phần tử
            // Chuyển cái chuỗi byte[] băm vừa được thành chuỗi, để chuyển xuống CSDL
            string haspass = "";                                               // string này là password sau khi mã hóa

            foreach (byte item in hasdata)
            {
                haspass += item;
            }

            // Nếu muốn tăng độ bảo mật, thì đảo ngươc chuỗi bằng cách
            var list = hasdata.ToString();                             // Chuyển thành chuỗi

            list.Reverse();                                            // Đảo ngược lại ví dụ ABC => CBA . Xong sau đó đưa cái list vừa đảo ngược cho vào passworđ

            string query = "EXEC dbo.USP_Login @username , @password"; // Sử dụng store procedure để tránh sql injection

            DataTable kiemtra = DataProvider.Instance.ExecureQuery(query, new object[] { username, haspass });

            return(kiemtra.Rows.Count > 0);
        }