`
ribishuangba
  • 浏览: 290740 次
文章分类
社区版块
存档分类
最新评论

SQL Server 2008中的代码安全(七):证书加密

 
阅读更多

SQL Server 2008中SQL应用系列--目录索引

证书可以在数据库中加密和解密数据。证书包含密钥对、关于证书拥有者的信息、证书可用的开始和结束过期日期。证书同时包含公钥和密钥,前者用来加密,后者解密。SQL Server可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。

注意:证书和非对称密钥同样的消耗资源。

我们看一组例子:

示例一、创建数据库证书

创建数据库证书:CREATE SYMMETRIC KEY (http://msdn.microsoft.com/en-us/library/ms187798.aspx

示例二、查看数据库中的证书

使用目录视图sys.certificates(http://msdn.microsoft.com/en-us/library/ms189774.aspx )来查看。

示例三、备份和还原证书

创建证书后,也可以使用BACKUP CERTIFICATE(http://msdn.microsoft.com/en-us/library/ms178578.aspx )命令备份到文件,为了安全地保存或在其他数据库中还原它。

示例四、管理证书的私钥

使用ALTER CERTIFICATE( http://msdn.microsoft.com/en-us/library/ms189511.aspx )命令为证书增加或删除私钥。这个命令允许删除私钥(默认通过数据库主密钥时行加密)、增加私钥或修改私钥的密码。

示例五、使用证书加密和解密

使用函数EncryptByCert加密数据。(http://msdn.microsoft.com/zh-cn/library/ms174361.aspx )

下面是一个例子:

邀月工作室

邀月工作室

示例六、使用对称密钥对数据进行加密和解密

在前面的文章中,你已经看到打开用非对称密钥加密的对称密钥的演示,它分两个步骤,首先用OPEN SYMMETRIC KEY命令,然后是实际的DecryptByKey函数调用。SQL Server也提供了能够将这两个步骤合二为一的额外的解密函数:DecryptByKeyAutoAsymKey(http://msdn.microsoft.com/en-us/library/ms365420.aspx )和DecryptByKeyAutoCert(http://msdn.microsoft.com/en-us/library/ms182559.aspx

此时,使用DecryptByKeyAutoAsymKey解密数据,只需要一个操作

邀月工作室

小结:

1、本文主要介绍证书的创建、删除、查看以及用它来修改加密方式、进行数据的加密和解密。

2、证书加密跟非对称密钥加密相对对称密钥加密更为消耗资源。

下文将主要介绍SQL Server中最为令人鼓舞的透明数据加密(TDE)

邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn

分享到:
评论

相关推荐

    SQLServer 2008中的代码安全(七) 证书加密

    SQL Server可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。 注意:...

    SQLServer 2008中的代码安全(五) 非对称密钥加密

    非对称密钥包含数据库级的内部公钥和私钥,它可以用来加密和解密SQL Server数据库中的数据,它可以从外部文件或程序集中导入,也可以在SQL Server数据库中生成。它不像证书,不可以备份到文件。这意味着一旦在SQL ...

    SQL Server 2008中的代码安全(三) 通过PassPhrase加密

     在SQL Server 2005和SQL Server 2008之前。如果希望加密敏感数据,如财务信息、工资或身份证号,必须借助外部应用程序或算法。SQL Server 2005引入内建数据加密的能力,使用证书、密钥和系统函数的组合来完成。  ...

    Microsoft SQL Server 2005 Express Edition SP3

    Windows 加密服务提供程序 (CSP) 是执行身份验证、编码和加密服务的代码,基于 Windows 的应用程序通过 Windows Server 2003 中的 CryptoAPI 访问这些服务。如果停止或禁用 CSP 服务,则 SQL Server 安装程序会失败...

    SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)使用方法代码

    代码如下:–SQLSERVER中的加密函数 2013-7-11ENCRYPTBYASYMKEY() –非对称密钥ENCRYPTBYCERT() –证书加密ENCRYPTBYKEY() –对称密钥ENCRYPTBYPASSPHRASE() –通行短语(PassPhrase)加密 ——————————...

    SQL Server 2008中的代码安全(八)透明加密(TDE)

    这几乎是SQL Server2008安全选项中最激动人心的功能了,有了它,我们至少可以将一些初级的恶意窥视拒之见外。 下面的两个例子将展示如何启用和维护透明数据加密。 示例一、启用透明加密(TDE)/********************...

    SQLServer 2008中的代码安全(四) 主密钥

    如果必须改变SQL Server服务账号,微软建议使用SQL Server配置管理器,因为这个工具将执行生成新服务主密钥需要的合适的解密和加密方法,而且可以使加密层次结构保持完整。服务主密钥也用于加密其下的数据库主密钥。...

    SQL Server 2008中的代码安全(六) 对称密钥加密

    证书和非对称密钥使用数据库级的内部公钥加密数据,并且使用数据库级内部私钥解密数据。而对称密钥相对简单,它们包含一个同时用来加密和解密的密钥。困此,使用对称密钥加密数据更快,并且用在大数据时更加合适。...

    java源码包2

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    2022年数据库应用综合实验:图书管理系统【全部代码+完整实验报告】

    出自《sql server2012》P50页 纯个人手写代码,有需要感谢购买 预览图片:https://img-blog.csdnimg.cn/e79e029200474f14827402a01c57b4f7.png 书籍的属性确定为:图书号、分类、书名、作者、单价、数量: 员工的...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包---java 源码 大量 实例

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    Java源码包100个设计实例.zip

    Java+sqlserver2000做的员工管理系统.rar Java+SQL信用卡管理系统源代码.rar Java+XML写的RSS阅读器.rar Java+XML日程提醒系统.rar Java24点游戏逼真图形版代码.rar JavaScript万年历.rar Java二进制IO类与文件复制...

    构建安全的 ASP.NET 应用程序(中文译作+英文原作)

    • 加密技术、密钥和证书 • 词汇表 返回页首 系统要求 本指南将帮助您使用 .NET Framework 针对 Windows 2000 设计和构建安全的 ASP.NET 应用程序。我们以 .NET Framework 版本 1 (service pack 2) 为目标,虽然...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

Global site tag (gtag.js) - Google Analytics