资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

asp.net密码加密服务

  1. 下载类库    Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dll

    创新互联公司专注于曲水网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供曲水营销型网站建设,曲水网站制作、曲水网页设计、曲水网站官网定制、小程序制作服务,打造曲水网络公司原创品牌,更为您提供曲水网站排名全网营销落地服务。

                Microsoft.Practices.EnterpriseLibrary.Security.dll

                Microsoft.Practices.EnterpriseLibrary.Common

 2. web.config 配置

 
   


 
 
   
     
     
     
     
     
     
     
   

 

3.添加引用  类库

4.类  方法

   ///


    /// 哈希加密算法枚举
    ///

    public enum EnumHashProvider
    {
        ///
        /// MD5
        ///

        MD5CryptoServiceProvider = 1,
        ///
        /// RIPEMD160Managed
        ///

        RIPEMD160Managed,
        ///
        /// SHA1
        ///

        SHA1CryptoServiceProvider,
        ///
        /// SHA1Managed
        ///

        SHA1Managed,
        ///
        /// SHA256Managed
        ///

        SHA256Managed,
        ///
        /// SHA384Managed
        ///

        SHA384Managed,
        ///
        /// SHA512Managed
        ///

        SHA512Managed
    }

    ///


    /// 加密服务工具类
    ///

    public class CryptographyUtil
    {
        ///
        /// 根据随机抽取的加密算法和随机产生的散列字符串对源字符串进行加密
        ///

        /// 要加密的字符串
        /// 散列字符串
        /// 哈希加密算法提供器
        /// 加密后的字符串
        public static string GetEncryptedHashText(string plainText, out string saltText, out int hashProvider)
        {
            Random radom = new Random();
            int hashProviderType = radom.Next(1, 8);
            hashProvider = hashProviderType;
            saltText = CreateSaltText();
            plainText += saltText;
            string encryptedText = Cryptographer.CreateHash(((EnumHashProvider)hashProvider).ToString(), plainText);
            return encryptedText;
        }



        ///


        /// 比较某一字符串是否是某一加密字符串的源字符串
        ///

        /// 源字符串
        /// 加密后的字符串
        /// 加密用的散列值
        /// 哈希加密算法提供器
        /// true=源字符串和加密后的字符串一样;false=源字符串和加密后的字符串不一样
        public static bool CompareHashText(string plainText, string encryptedText, string saltText, int hashProviderType)
        {
            EnumHashProvider hashProvider = new EnumHashProvider();
            try
            {
                hashProvider = (EnumHashProvider)hashProviderType;
            }
            catch
            {
                return false;
            }
            bool matched = Cryptographer.CompareHash(hashProvider.ToString(), plainText + saltText, encryptedText);

            return matched;
        }

        ///
        /// 产生一个散列值
        ///

        ///
        private static string CreateSaltText()
        {
            byte[] bytSalt = new byte[32];
            RNGCryptoServiceProvider rng;

            rng = new RNGCryptoServiceProvider();

            rng.GetBytes(bytSalt);

            return Convert.ToBase64String(bytSalt);
        }
    }

 ///


        /// 用户名登录
        ///

        /// 用户名
        /// 用户密码
        /// 用户信息实体
        public tb_User UserLogin(string userLoginname, string userLogPassword)
        {
            tb_User dbclass = this.repository.UserLogin(userLoginname);
            if (dbclass == null)
            {
                return null;
            }
            if (!CryptographyUtil.CompareHashText(userLogPassword, dbclass.User_Password, dbclass.User_PasswordSalt, dbclass.User_PasswordFormat.Value))
            {
                return null;
            }
            return dbclass;
        }

     string user_Password;
            string user_PasswordSalt;
            int user_PasswordFormat;
            //密码加密
            user_Password = CryptographyUtil.GetEncryptedHashText(password, out user_PasswordSalt, out user_PasswordFormat);

            item.User_Password = user_Password;
            item.User_PasswordFormat = user_PasswordFormat;
            item.User_PasswordSalt = user_PasswordSalt;


新闻标题:asp.net密码加密服务
文章URL:http://www.cdkjz.cn/article/pjdshc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220