网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

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密码加密服务
分享地址:http://bjjierui.cn/article/pjdshc.html

其他资讯