NET Framework 4.5新特性 (一) 数据库的连接加密保护。

NET Framework 4.5 ado.net数据库连接支持使用SecureString内存流方式保密文本。  一旦使用这类操作,文本加密是私有不能共享的,并在不再需要时从计算机内存中删除。  SecureString此类不能被继承。 下面做了一些演示

  private void Login_Click(object sender, EventArgs e)
        {
            //登录参数
            string userName = Username.Text;
            SecureString password = securestring(Password.Text);
            password.MakeReadOnly();
            //SqlCredential  提供了更安全的方式来指定使用 SQL Server 身份验证的登录尝试密码。
            SqlCredential credential = new SqlCredential(userName, password);
            //数据库连接
            using (SqlConnection conn = new SqlConnection("Server=(local);Initial Catalog=DATABASE;"))
            {
                conn.Credential = credential;
                conn.Open();
                MessageBox.Show("连接成功");
                conn.Close();
            }
        }
        /// <summary>
        /// 保密文本
        /// </summary>
        /// <param name="text">保密的字符串</param>
        /// <returns></returns>
        private SecureString securestring(string text)
        {
            char[] pChar = text.ToCharArray();

            SecureString password = new SecureString();

            foreach (char c in pChar)
            {

                password.AppendChar(c);

            }
            return password;
        }

当输入一个正确sql登录用户名和密码时,输出结果是这样的

当输入不正确的用户名或密码时,抛出一个sql异常

下一篇继续讲解NET Framework 4.5新特性

NET Framework 4.5新特性 (一) 数据库的连接加密保护。

时间: 2024-10-11 06:16:43

NET Framework 4.5新特性 (一) 数据库的连接加密保护。的相关文章

NET Framework 4.5新特性 (三)64位平台支持大于2 GB大小的数组

64位平台.NET Framework数组限制不能超过2GB大小.这种限制对于需要使用到大型矩阵和向量计算的工作人员来说,是一个非常大问题. 无论RAM容量有多大有多少,一旦你使用大型矩阵和向量计算工作的时候,经常会抛出一个System.OutOfMemoryException异常,如下图所示: 参考程序 class Program { private static void Main(string[] args) { int arrysize = 150000000; var large=ne

.Net Framework 各个版本新特性总结 (一)

.Net Framework 4.5 新特性 最近面试时又看到有问.Net Framework 新特性的问题,一时被问到了.平时也是拿起来就用,新版本出来了,新特性也就是瞄一眼,也没去仔细查看.这次干脆花点时间总(翻)结(译)一下各个版本相比上一版本带来的新特性.主要参考来源是MSDN,一下是原文链接: Reference: https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110).aspx#core 嗯,我们就从4.5开始. 目录

NET Framework 4.5新特性 (二) 控制台支持 Unicode (UTF-16) 编码

从 .NET Framework 4.5 开始,Console 类支持与 UnicodeEncoding 类的 UTF-16 编码.  显示 Unicode 字符到控制台,你可以设置 OutputEncoding 属性为 UTF8Encoding 或 UnicodeEncoding. 下面的示例显示 Unicode 字符的范围到控制台中.  该示例接受三个命令行参数:显示范围的开头,显示范围的末尾,以及是否使用当前控制台编码 (false) 或 UTF-16 编码 (true).  假定控制台使

SQL Server 2016新特性:数据库级别配置

新的  ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 用来配置数据库级别配置. 这个语句可以配置每个数据库的配置: 清理过程cache 设置MAXDOP参数,可以配置primary和secondary 设置查询优化器的评估模式 启动和关闭数据库级别的参数嗅探 启动和关闭数据库级别的查询优化补丁 启动和关闭数据库级别的identity cache 语法: ALTER DATABASE SCOPED CONFIGURATION { {  [ F

.net Framework 4.5 新特性async(异步)的初步认识

1.async的简单说明 继版本4.5以前,要想实现异步方法,运用多线程齐头并进.而4.5直接一个async修饰的方法配合await实现异步,这里的底层实现原理暂时未研究, 应该本质都一样,对线程的操作. 2.async的简单示例 注:async修饰的方法,返回值限定:void,Task,Task<T> 一般情况我们是不会去等待一个异步的处理结果 public class AsyncCalc { static AsyncCalc _AsyncCalc = null; public static

浅谈oracle 12C的新特性-CDB和PDB

最近看到好多人都在尝试oracle中的12C新特性-容器数据库,今年3月orcle退出了Release2版本,可以算是一个稳定版本了.下午着手尝试了一下,还是蛮不错得 1.前言 CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB).CDB全称为ContainerDatabase,中文翻译为数据库容器,PDB全称为Pluggable Datab

atitit.Oracle 9 10 11 12新特性attilax总结

atitit.Oracle 9  10 11  12新特性 1. ORACLE 11G新特性 1 1.1. oracle11G新特性 1 1.2. 审计 1 1.3. 1.   审计简介 1 1.4. 其他(大部分是管理功能) 2 2. Oracle 12c 的 12 个新特性 2 2.1. 2 Improved Defaults 增强了DEFAULT, default目前可以直接指代sequence了,同时增强了default充当identity的能力 2 2.2. Easy Top-N an

oracle 11g 新特性

1.Exadata是结合了数据库威力的硬件. 闪存:不同于数据库闪存,这是一个基于文件扩展的常驻SGA缓冲区的高速缓存(类似于交换区),为数据库提供二级缓存.当数据库被换出SGA时该文件被使用. 存储索引:利用最小值/最大值使查询运行得更快.主要维护数据的摘要信息.内存结构驻留在存储单元层面上.对于一个存储单元而言,存储索引最多可以存储8个查询表列的最小值/最大值.存储索引指示数据如何存储在存储单元上(就像分区的最小值/最大值). 2.高级压缩 允许数据在更新和插入表时保持压缩 create t

Java精品高级课,架构课,java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,第三方支付,web安全,视频教程

36套精品Java架构师,高并发,高性能,高可用,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,P2P金融项目,大型分布式电商实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Elasticsearch,Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.java8新特性,P2P金融项目,程序设计,