AppEncrypts helper.提供加密解密的一个通用类

本文介绍了一种在.NET中使用的对称加密类封装方法,该类支持多种加密算法如DES、三重DES、RC2及Rijndael,并提供了统一的加密/解密接口。
 

在.NET中,我们可以直接使用System.Security.Cryptography空间中的通过加密/解密类进行操作.
这几天在玩数据加密的时候用到了.
感觉用起来不是很方便.
于是写了一个通用(hoho,算是比较通用的吧)的加密/解密的类.
现在只完成了对称加密类的封装.
代码:

using  System;
using  System.IO;
using  System.Text;
using  System.Security.Cryptography;

namespace  CnBlogs.Helper.hBifTs
{

    
#region AppEncrypt
    
/// <summary>
    
/// AppEncrypt : 抽象类,用于提供加密/解密类的基本功能.
    
/// </summary>

    public abstract class AppEncrypt : IDisposable{
        
#region Private variable & propery
        
protected byte[] key;
        
protected byte[] iv;

        
protected ICryptoTransform CryptoTrans;
        
protected SymmetricAlgorithm CryptObj;

        
public byte[] Key{
            
getreturn key;}
            
set{ key = value;}
        }


        
public byte[] IV
        
{
            
getreturn iv;}
            
set{ iv = value;}
        }


        
public AppEncrypt(byte[] Key,byte[] IV){
            key 
= Key;
            iv 
= IV;
        }

        
#endregion


        
Dispose

        
Common Function
    }

    
#endregion


    
DESEncrypt

    
TripleDESEncrypt

    
RC2Encrypt

    
RijndaelEncrypt
}



使用只要直接调用基类的Encrypt和Dencrypt函数即可..
测试用例如下:
using  System;
using  System.IO;
using  System.Text;
using  CnBlogs.Helper.hBifTs;
using  NUnit.Framework;


namespace  CnBlogs.Helper.hBifTs.TestCases
{
    
/// <summary>
    
/// Summary description for TestAppEncrypt.
    
/// </summary>
    
/// 

    [TestFixture]
    
public class TestAppEncrypt
    
{
        
private AppEncrypt enc;
        
private MemoryStream mem;

        
public TestAppEncrypt()
        
{
        }


        [SetUp] 
public void Setup(){
            
byte[] msg = Encoding.Unicode.GetBytes("hello,I got the new world,猪啊..");
            mem 
= new MemoryStream( msg);
        }


        [TearDown] 
public void TearDown(){
            mem.Close();
        }


        
public void Common(){
            Stream dest 
= new MemoryStream();
            enc.Encrypt( mem,
ref dest);
            Stream dest1 
= new MemoryStream( ((MemoryStream)dest).ToArray());
            Stream dest2 
= new MemoryStream();
            enc.Dencrypt( dest1,
ref dest2);
            Assert.AreEqual( Encoding.Unicode.GetString(mem.ToArray()),Encoding.Unicode.GetString(((MemoryStream)dest2).ToArray()));
        }


        [Test] 
public void TestDES(){
            enc 
= new DESEncrypt();
            Common();
        }


        [Test] 
public void TestTripleDES(){
            enc 
= new TripleDESEncrypt();
            Common();
        }


        [Test] 
public void TestRC2(){
            enc 
= new RC2Encrypt();
            Common();
        }


        [Test] 
public void TestRijndael(){
            enc 
= new RijndaelEncrypt();
            Common();
        }

    }

}


灵感之源的要求,提供代码下载: AppEncrypts.zip
 

Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1353526

## 软件功能详细介绍 1. **文本片段管理**:可以添加、编辑、删除常用文本片段,方便快速调用 2. **分组管理**:支持创建多个分组,不同型的文本片段可以分存储 3. **热键绑定**:为每个文本片段绑定自定义热键,实现一键粘贴 4. **窗口置顶**:支持窗口置顶功能,方便在其他应用程序上直接使用 5. **自动隐藏**:可以设置自动隐藏,减少桌面占用空间 6. **数据持久化**:所有配置和文本片段会自动保存,下次启动时自动加载 ## 软件使用技巧说明 1. **快速添加文本**:在文本输入框中输入内容后,点击"添加内容"按钮即可快速添加 2. **批量管理**:可以同时编辑多个文本片段,提高管理效率 3. **热键冲突处理**:如果设置的热键与系统或其他软件冲突,会自动提示 4. **分组切换**:使用分组按钮可以快速切换不同别的文本片段 5. **文本格式化**:支持在文本片段中使用换行符和制表符等格式 ## 软件操作方法指南 1. **启动软件**:双击"大飞哥软件自习室——快捷粘贴工具.exe"文件即可启动 2. **添加文本片段**: - 在主界面的文本输入框中输入要保存的内容 - 点击"添加内容"按钮 - 在弹出的对话框中设置热键和分组 - 点击"确定"保存 3. **使用热键粘贴**: - 确保软件处于运行状态 - 在需要粘贴的位置按下设置的热键 - 文本片段会自动粘贴到当前位置 4. **编辑文本片段**: - 选中要编辑的文本片段 - 点击"编辑"按钮 - 修改内容或热键设置 - 点击"确定"保存修改 5. **删除文本片段**: - 选中要删除的文本片段 - 点击"删除"按钮 - 在确认对话框中点击"确定"即可删除
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值