一个加密解密的类

转载 2007年09月27日 13:10:00
 
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;

namespace Common
{

    
/// <summary> 
    
/// SecurityService 的摘要说明。 
    
/// </summary> 

    public class SecurityService
    
{

        
static protected Byte[] byteKey = 125144567112797799371041391185187108 };
        
static protected Byte[] byteIV = 86197915725811745861979 };

        
static public string SymmetricEncrypt(String sPlainText)
        
{
            Byte[] bytePlaintext;
            MemoryStream EncryptedStream;
            ICryptoTransform Encryptor;
            CryptoStream TheCryptoStream;
            
if (sPlainText == ""return "";
            bytePlaintext 
= Encoding.ASCII.GetBytes(sPlainText);
            EncryptedStream 
= new MemoryStream(sPlainText.Length);
            Encryptor 
= GetEncryptor();
            TheCryptoStream 
= new CryptoStream(EncryptedStream, Encryptor, CryptoStreamMode.Write);
            TheCryptoStream.Write(bytePlaintext, 
0, bytePlaintext.Length);
            TheCryptoStream.FlushFinalBlock();
            TheCryptoStream.Close();
            
return Convert.ToBase64String(EncryptedStream.ToArray());

        }


        
static public string SymmetricDecrypt(String sEncryptedText)
        
{
            Byte[] byteEncrypted;
            MemoryStream PlaintextStream;
            ICryptoTransform Decryptor;
            CryptoStream TheCryptoStream;
            
if (sEncryptedText == ""return "";
            byteEncrypted 
= Convert.FromBase64String(sEncryptedText.Trim());
            PlaintextStream 
= new MemoryStream(sEncryptedText.Length);
            Decryptor 
= GetDecryptor();
            TheCryptoStream 
= new CryptoStream(PlaintextStream, Decryptor, CryptoStreamMode.Write);
            TheCryptoStream.Write(byteEncrypted, 
0, byteEncrypted.Length);
            TheCryptoStream.FlushFinalBlock();
            TheCryptoStream.Close();
            
return Encoding.ASCII.GetString(PlaintextStream.ToArray());

        }


        
static private ICryptoTransform GetEncryptor()
        
{
            RC2CryptoServiceProvider CryptoProvider 
= new RC2CryptoServiceProvider();
            CryptoProvider.Mode 
= CipherMode.CBC;
            
return CryptoProvider.CreateEncryptor(byteKey, byteIV);

        }


        
static private ICryptoTransform GetDecryptor()
        
{
            RC2CryptoServiceProvider CryptoProvider 
= new RC2CryptoServiceProvider();
            CryptoProvider.Mode 
= CipherMode.CBC;
            
return CryptoProvider.CreateDecryptor(byteKey, byteIV);
        }

    }

}


    

相关文章推荐

搜集整理的一个c#.net的加密解密的类

以下是代码片段: using System; using System.Security.Cryptography; using System.IO; using System.Data; ...

【知识储备】收藏一个加密解密算法

package com.lihan; import java.security.*; import javax.crypto.*; import javax.crypto.spec.SecretKey...

用Java实现一个简单的单秘钥加密解密算法

近来无聊,就自己简单的学着写个简单的单秘钥加密解密程序。            这个单秘钥加解密的实现思路非常简单,是使用二进制的异或运算来实现的:0^0=0,0^0=0;0^1=1,1^1=0;1^...

创建一个自定义类加载器实现class文件(字节码文件)的加密解密的实例

一.自定义类加载器的思路: 1.加密解密(编码解码)方法,在自定义类中(MyClassLoader )创建cypher(InputStream ips ,OutputStream ops)函数,对函数...

一个加密解密的小工具

公司某总要求做一个可逆的加密解密的小工具 对界面要求不高,能用就行。所以用java swing 做了一个简陋的~ 现在估计用java做c/s模式的不多了。我也只是上学时在课堂上听老师那么一提。除了腾讯...

一个简单的加密解密方法(java、shell脚本)

最近项目中有个小的需求,配置文件中配置有DB密码,客户担心xml文件被非法窃取,所以要求配置文件中的密码是经过加密的。这就有个问题,常用的MD5加密,理论上是不可逆的。所以简单写了一个加密解密方法。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)