一个简单的c#加密,签名,验签,解密算法.(2)

本文介绍了如何在C#中使用MiniDes.cs库进行加密和解密操作,以及CodeSign.cs文件中阐述的签名与验签方法,详细讲解了加密解密和签名验证的关键步骤。
摘要由CSDN通过智能技术生成

MiniDes.cs

public   class  MiniDes
    
{
        
public MiniDes()
        
{
            
//
            
// TODO: Add constructor logic here
            
//
        }

        
private static string sKey
        
{
            
get
            
{
                
return Key.MiniDesKey;
            }

        }

        
//矢量

        
private const string sIV = "qcDd6X+aPLa=";

        
///   <summary> 
        
///   3DES加密 
        
///   </summary> 
        
///   <param   name= "Value "> 待加密字符串 </param> 
        
///   <param   name= "sKey "> 密钥 </param> 
        
///   <param   name= "sIV "> 矢量 </param> 
        
///   <returns> 加密后字符串 </returns> 

        public static string Encrypt(string Value)
        
{
            
try
            
{
                
//构造对称算法 
                SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();

                ICryptoTransform ct;
                MemoryStream ms;
                CryptoStream cs;
                
byte[] byt;
                mCSP.Key 
= Convert.FromBase64String(sKey);
                mCSP.IV 
= Convert.FromBase64String(sIV);
                
//指定加密的运算模式 
                mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
                
//获取或设置加密算法的填充模式 
                mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
                ct 
= mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
                byt 
= Encoding.UTF8.GetBytes(Value);
                ms 
= new MemoryStream();
                cs 
= new CryptoStream(ms, ct, CryptoStreamMode.Write);
                cs.Write(byt, 
0, byt.Length);
                cs.FlushFinalBlock();
                cs.Close();
                
return Convert.ToBase64String(ms.ToArray());
            }

            
catch
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值