ef 数据库连接字符串加密

在实际生产环境中,数据库连接字符串需要加密。

先找到ef读取连接字符串的方法:DB.Context.cs

ef 数据库连接字符串加密_第1张图片

这是默认读取字符串的方法,其对于配置项为:

 
    
  

在这里必须读取解密后发的字符串,所以再写一个方法来获取解密后的字符串EfConstant

using Maticsoft.DBUtility;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;

namespace DBUtility
{
   public class EfConstant
    {   /// 
        /// 获取连接字符串
        /// 
        public static string ConnectionString
        {
            get
            {
                string _connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; ;
                string ConStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"];
                if (ConStringEncrypt == "true")
                {
                    _connectionString = DESEncrypt.Decrypt(_connectionString);
                }
                return _connectionString;
            }
        }
    }
}

 

然后替换原来的:

   public Entities()
            : base(EfConstant.ConnectionString)
        {

        }

加密连接字符串的时候要注意,""是双引号,加密时要将其改为" "才可以,不然会报出data source关键字的错误!

 
    
  

参考来源:https://www.cnblogs.com/xszjk/articles/EFConfig.html

 

你可能感兴趣的:(C#)