zoukankan      html  css  js  c++  java
  • 2017-6-22 关于MD5加密 别忘了引命名空间

    using System;
    using System.IO;
    using System.Security.Cryptography;
    using System.Text;
    
    namespace Secret
    {
        public class MD5
        {
            /// <summary>
            /// MD5加密
            /// </summary>
            /// <param name="s">需要加密的字符串</param>
            /// <returns></returns>
            public static string EncryptMD5(string s)
            {
                var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                var result = "";
                if (!string.IsNullOrWhiteSpace(s))
                {
                    result = BitConverter.ToString(md5.ComputeHash(UnicodeEncoding.UTF8.GetBytes(s.Trim())));
                }
                return result;
            }
        }
    
        public class DES
        {
            //DES加密秘钥,要求为8位
            private const string desKey = "xianglk1";
            //默认密钥向量
            private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
    
            /// <summary>
            /// DES加密
            /// </summary>
            /// <param name="encryptString">待加密的字符串,未加密成功返回原串</param>
            /// <returns></returns>
            public static string EncryptDES(string encryptString)
            {
                try
                {
                    byte[] rgbKey = Encoding.UTF8.GetBytes(desKey);
                    byte[] rgbIV = Keys;
                    byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
                    DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
                    MemoryStream mStream = new MemoryStream();
                    CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
                    cStream.Write(inputByteArray, 0, inputByteArray.Length);
                    cStream.FlushFinalBlock();
                    return Convert.ToBase64String(mStream.ToArray());
                }
                catch
                {
                    return encryptString;
                }
            }
    
            /// <summary>
            /// DES解密
            /// </summary>
            /// <param name="decryptString">待解密的字符串,未解密成功返回原串</param>
            /// <returns></returns>
            public static string DecryptDES(string decryptString)
            {
                try
                {
                    byte[] rgbKey = Encoding.UTF8.GetBytes(desKey);
                    byte[] rgbIV = Keys;
                    byte[] inputByteArray = Convert.FromBase64String(decryptString);
                    DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
                    MemoryStream mStream = new MemoryStream();
                    CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
                    cStream.Write(inputByteArray, 0, inputByteArray.Length);
                    cStream.FlushFinalBlock();
                    return Encoding.UTF8.GetString(mStream.ToArray());
                }
                catch
                {
                    return decryptString;
                }
            }
    
        }
    }
    <%@ WebHandler Language="C#" Class="insert" %>
    
    using System;
    using System.Web;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Secret;
    public class insert : IHttpHandler {
        
        public void ProcessRequest (HttpContext context) {
    
    
            using (DatayilanDataContext con = new DatayilanDataContext())
            {
                string password = MD5.EncryptMD5(context.Request["password"]);
                users u = new users();
                u.username = context.Request["username"];
                u.password = password;
                u.sex = Convert.ToBoolean(context.Request["sex"]);
                u.email = context.Request["email"];
                u.birthday = Convert.ToDateTime(context.Request["birthday"]);
                u.phone = context.Request["phone"];
                u.country = context.Request["country"];
                u.province = context.Request["province"];
                u.city = context.Request["city"];
                u.detailaddr = context.Request["detailaddr"];
                u.postcode = context.Request["postcode"];
                u.American = context.Request["American"];
                u.asset = context.Request["asset"];
                u.income = context.Request["income"];
                u.employment = context.Request["employment"];
                u.business = context.Request["business"];
                u.experience = context.Request["experience"];
                u.account = context.Request["account"];
                u.idnumber = context.Request["idnumber"];
    
    
                con.users.InsertOnSubmit(u);
                con.SubmitChanges();
    
            }
             context.Response.End();
            
            
            
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
    
    }
    <%@ WebHandler Language="C#" Class="denglu" %>
    
    using System;
    using System.Web;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Secret;
    public class denglu : IHttpHandler {
       
        
        public void ProcessRequest (HttpContext context) {
    
            string end = "{"has":"false"}";
            string username = context.Request["username"];
            string password =MD5.EncryptMD5( context.Request["password"]);
            
            using(DatayilanDataContext con=new DatayilanDataContext())
            
            {
                users u = con.users.Where(r => r.username == username&&r.password==password).FirstOrDefault();
                if (u != null)
                {
                    end = "{"has":"true","id":""+u.ids+""}";
                }
                context.Response.Write(end);
                context.Response.End();
            }
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
    
    }
  • 相关阅读:
    License for package Android SDK Build-Tools 28.0.3 not accepted
    React实现座位排布组件
    Flutter中Expanded组件用法
    Ant Design Pro路由传值
    Ant Design中getFieldDecorator方法的特殊用法(小bug)
    React子组件和父组件通信
    Ant Design Pro项目打开页设为登录或者其他页面
    JS中的splice方法
    Ant Design 表单中getFieldDecorator、getFieldValue、setFieldValue用法
    c++下标越界问题探讨
  • 原文地址:https://www.cnblogs.com/zhengqian/p/7064736.html
Copyright © 2011-2022 走看看