当前位置:3d开机号和试机号今天 > 博客园推荐 >黄聪:Microsoft Enterprise Library 5.0 系列教程二 Cryptography Application Block 初级

黄聪:Microsoft Enterprise Library 5.0 系列教程二 Cryptography Application Block 初级

  作者:凌空11腿   来源: 博客园-lonelyxmas  
原文: 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (初级)

3d开机号和试机号今天 www.jk1z4.cn

企业库加密应用程序??樘峁┝?种方式让用户?;ぷ约旱氖?

  1. Hashingproviders:  离散加密法, 简单来说就是把你的信息保存到内存中后用一个离散值表示并返回给程序,这样在程序中只能看到离散值而不是明文,这样就起到简单的加密效果啦.
  2. Cryptographyproviders: 密钥加密法. 用对称加密方法对数据进行加密(尚未支持非对称加密).

使用企业库加密应用程序??榈挠攀?/strong>:

  1. 减少了需要编写的模板代码,执行标准的任务,可以用它来解决常见的应用程序加密的问题.
  2. 有助于维持一个应用程序内和跨企业的数据传输加密.
  3. 允许管理员进行加密配置,包括使用组策略.
  4. 可扩展,支持用户自定义加密技术.

下面介绍如何使用Microsoft Enterprise Library 5.0中的加密应用程序???

1.下载安装好MicrosoftEnterprise Library 5.0,然后在运行EntLibConfig.exe

2. 选择Blocks菜单 ,单击 Add CryptographySettings .

下面分别样式如何创建Hash Providers Symmetric CryptographyProviders 加密策略:

(A)   Hash Providers 策略使用步骤:

  (1)    点击HashProviders 区块右上角的加号按钮, Add Hash Providers, 然后点击Add Hash Algorithm Provider,在弹出的对话框中选择System.Core下的MD5Cng,

      表示我们要用MD5的加密方法获取离散值.

  (2) 点击 File 菜单,单击 Save,保存为一个App.config文件,可以先保存到桌面,之后要用到它. 用记事本打开App.config,可以看到如下内容.

代码
< configuration >
< configSections >
< section name ="securityCryptographyConfiguration" type ="Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Configuration.CryptographySettings,Microsoft.Practices.EnterpriseLibrary.Security.Cryptography, Version=5.0.414.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission ="true" />
</ configSections >
< securityCryptographyConfiguration >
< hashProviders >
< add name ="MD5Cng" type ="Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.HashAlgorithmProvider,Microsoft.Practices.EnterpriseLibrary.Security.Cryptography, Version=5.0.414.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35"
algorithmType
="System.Security.Cryptography.MD5Cng,System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
saltEnabled
="true" />
</ hashProviders >
</ securityCryptographyConfiguration >
</ configuration >

  (3) 要使用缓存应用程序??? 需要导入相应的Dll文

此文来自: 马开东博客 转载请注明出处 网址:3d开机号和试机号今天

件,在此我们要导入的是Microsoft.Practices.EnterpriseLibrary.Caching.dll ,将App.config文件添加到项目中,

     并添加usingMicrosoft.Practices.EnterpriseLibrary.Security.Cryptography引用:

  添加引用:

usingMicrosoft.Practices.EnterpriseLibrary.Security.Cryptography;

  (4) 测试:

usingSystem;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Microsoft.Practices.EnterpriseLibrary.Security.Cryptography;

namespace test
{
classProgram
{
staticvoid Main(
string []args)
{

// 获取离散码
stringhash = Cryptographer.CreateHash( " MD5Cng " , " SensitiveData " );

// 打印显示
Console.WriteLine(hash);

    Console.WriteLine(
" ------------------------------------------------ " );

// 验证
boolequal = Cryptographer.CompareHash( " MD5Cng " , " SensitiveData " ,hash);

// 打印结果
if (equal)
{
Console.WriteLine(
" 正确 " );
}
else
{
Console.WriteLine(
" 错误 " );
}
}
}
}

运行结果:

(B)    Symmetric CryptographyProviders策略实现步骤:

  (1)    点击symmetriccryptography provider  区块右上角的加号按钮,然后点击 Add Symmetric Cryptography Providers, 在此我们能看到3个选项,下面介绍一下:  

  •  Add Custom SymmetricCrypto Provider :顾名思义,用户自定义的加密策略,较麻烦,要自己写相应的加密类. 
  •  Add DPAPI Symmetric Crypto Provider : 添加一个数据加密API生成的对称密钥进行加密.
  •  Add Sysmmetric Algorithm Provider : 较高级的对称加密方法,需要用户生成Key文件对数据进行?;?

   在此我介绍的是第二种方法,因此请单击选择 Add DPAPI Symmetric Crypto Provider.

   

  (2)    点击 File 菜单,单击 Save更新原有的App.config文件,打开可看到以下内容.

代码
< configuration >

< configSections >

< section name ="securityCryptographyConfiguration" type ="Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Configuration.CryptographySettings,Microsoft.Practices.EnterpriseLibrary.Security.Cryptography, Version=5.0.414.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission ="true" />

</ configSections >

< securityCryptographyConfiguration defaultHashInstance ="MD5Cng" >

< hashProviders >

< add name ="MD5Cng" type ="Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.HashAlgorithmProvider,Microsoft.Practices.EnterpriseLibrary.Security.Cryptography, Version=5.0.414.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35"

algorithmType
="System.Security.Cryptography.MD5Cng,System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

saltEnabled
="true" />

</ hashProviders >

< symmetricCryptoProviders >

< add type ="Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.DpapiSymmetricCryptoProvider,Microsoft.Practices.EnterpriseLibrary.Security.Cryptography, Version=5.0.414.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35"

name
="DPAPISymmetric Crypto Provider" />

</ symmetricCryptoProviders >

</ securityCryptographyConfiguration >

</ configuration >

  (3)     测试:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Microsoft.Practices.EnterpriseLibrary.Security.Cryptography;

namespace test
{
class Program
{
static void Main( string [] args)
{
/// /获取离散码
// string hash = Cryptographer.CreateHash("MD5Cng", "SensitiveData");

/// /打印显示
// Console.WriteLine(hash);

// Console.WriteLine("------------------------------------------------");

/// /验证
// bool equal = Cryptographer.CompareHash("MD5Cng", "SensitiveData", hash);

/// /打印结果
// if (equal)
// {
// Console.WriteLine("正确");
// }
// else
// {
// Console.WriteLine("错误");
// }

string Encrypt = Cryptographer.EncryptSymmetric( " DPAPI Symmetric Crypto Provider " , " SensitiveData " );

Console.WriteLine(
" 密文: " + Encrypt);

Console.WriteLine(
" ------------------------------------------------ " );

Encrypt
= Cryptographer.DecryptSymmetric( " DPAPI Symmetric Crypto Provider " , Encrypt);
Console.WriteLine(
" 原文: " + Encrypt);
}
}
}

运行结果:

 

相关阅读:

来源:(微信/QQ:420434200,微信公众号:www.jk1z4.cn)
       欢迎分享本文,转载请保留出处!

       【原文阅读】://www.cnblogs.com/lonelyxmas/p/3581961.html
没有了
  • 纸质书电子书何必分高低 2019-02-15
  • 马克思的共产主义,什么时候说了生产资料需要“按需分配”了? 2019-02-12
  • 新时代湖北讲习所:讲学成一道风景,做实成一种自觉  2019-02-12
  • 足球盛宴来袭 省会首届迷你世界杯赛正式打响 2019-02-11
  • 日本大阪6.1级地震 镜头记录事发那一刻 2019-02-10
  • 胡世忠在泰和调研经济运行和项目建设 2019-02-10
  • 看看马克思主义是怎样产生的就明白了。 2019-02-09
  • 英媒称梵高购买日本版画并非爱好,而是为赚钱,结果—— 2019-02-08
  • 乘热气球飞跃千年王朝古都文章中国国家地理网 2019-01-29
  • 点赞英雄机组 关注事故原因 2019-01-20
  • 只有超面积才应该付出成本。根据跟下的逻辑立锥之地也应付钱。 2019-01-17
  • 社会主义核心价值观主题微电影征集展示活动作品征集公告 2018-12-28
  • 秦存良的专栏作者中国国家地理网 2018-12-27
  • 新闻中心给记者留下美好记忆 2018-12-22
  • 为祝贺你们!为你们自豪,为你们骄傲——中国核电的创新者!这是“两弹一星”精神的延续,是“两弹一星”精神的发扬!有良心的中国人,更要感谢以毛泽东为首的老一辈无产阶 2018-12-22
  • 339| 519| 193| 652| 981| 293| 815| 816| 805| 348|