熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

數據加密

2013-11-13 10:27:25  來源: .NET編程 

  SystemSecurityCryptography 命名空間提供加密服務包括安全的數據編碼和解碼以及許多其他操作例如散列法隨機數字生成和消息身份驗證有關更多信息請參見 加密服務 NET Framework 提供許多標准加密算法的實現這些算法易於使用並具有最安全的可能默認屬性此外對象繼承流設計和配置的 NET Framework 加密模型具有高度的可擴展性 對象繼承 NET Framework 安全系統實現可擴展模式的派生類繼承層次結構如下所示 算法類型類如 SymmetricAlgorithm 或 HashAlgorithm該級別為抽象 從算法類型類繼承的算法類如 RC 或 SHA該級別為抽象 從算法類繼承的算法類的實現如 RCCryptoServiceProvider 或 SHAManaged該級別是完全實現的 使用這種模式的派生類很容易添加新算法或現有算法的新實現例如若要創建新的公鑰算法應從 AsymmetricAlgorithm 類繼承若要創建特定算法的新實現應創建該算法的非抽象派生類 流設計公共語言運行庫使用面向流的設計實現對稱算法和哈希算法該設計的核心是 CryptoStream 類它派生自 Stream 類基於流的加密對象全都支持用於處理對象的數據傳輸部分的單個標准接口 (CryptoStream)由於所有對象都在標准接口上生成所以可以將多個對象(如一個哈希對象後跟一個加密對象)鏈接在一起並且可以對數據執行多個操作而不需要為數據提供任何中間存儲使用流模型時還可以用更小的對象生成對象例如可以將加密算法和哈希算法的組合視為單個流對象(即使該對象可能是從一組流對象生成的)加密配置使用加密配置可以將算法的特定實現解析為算法名稱
 所以可以將多個對象(如一個哈希對象後跟一個加密對象)鏈接在一起並且可以對數據執行多個操作而不需要為數據提供任何中間存儲使用流模型時還可以用更小的對象生成對象例如可以將加密算法和哈希算法的組合視為單個流對象(即使該對象可能是從一組流對象生成的)加密配置使用加密配置可以將算法的特定實現解析為算法名稱

  using System;
using SystemIO;
using SystemSecurityCryptography;
using SystemText;
namespace DataCrypto
{
/// <summary>
/// 哈希加密類
/// </summary>
public class HashMethod
{
private HashAlgorithm HashCryptoService;
/// <summary>
/// 哈希加密類的構造函數
/// </summary>
public HashMethod()
{
HashCryptoService = new SHAManaged();
}
/// <summary>
/// 加密方法
/// </summary>
/// <param name=Source>待加密的串</param>
/// <returns>經過加密的串</returns>
public string Encrypto(string Source)
{
byte[] bytIn = UTFEncodingUTFGetBytes(Source);
byte[] bytOut = HashCryptoServiceComputeHash(bytIn);
return ConvertToBaseString(bytOut);
}
}
}


From:http://tw.wingwit.com/Article/program/net/201311/13688.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.