对称EDS加解密方法

原创 2007年09月23日 12:18:00
 

HTML Tags and JavaScript tutorial



对称EDS加解密方法




 
1.
导入两个名称空间
:
using System.Security.Cryptography;
using System.Text.RegularExpressions;
 
2.
加密解密类
:
private static readonly string sKey="qJzGEh6hESZDVJeCnFPGuxzaiB7NLQM3";//
密钥
private static readonly string sIV="qcDY6X+aPLw=";//
矢量
,
矢量可以为空
private static SymmetricAlgorithm mCSP=new TripleDESCryptoServiceProvider();//
构造一个对称算法
 
3.
加密方法
:
public static string EncryptDes(string source)
{
      
ICryptoTransform ct;
      
MemoryStream ms;
      
CryptoStream cs;
      
byte[] byt;
 
      
string str=null;
      
      
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(source);
 
      
ms = new MemoryStream();
      
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      
cs.Write(byt, 0, byt.Length);
      
cs.FlushFinalBlock();
 
      
cs.Close();
 
      
str=Convert.ToBase64String(ms.ToArray());
 
      
return str;
}
 
4.
机密方法
:
public static string DecryptDes(string source)
{
      
ICryptoTransform ct;
      
MemoryStream ms;
      
CryptoStream cs;
      
byte[] byt;
 
      
string str=null;
 
      
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.CreateDecryptor(mCSP.Key, mCSP.IV);
 
      
byt = Convert.FromBase64String(source);
 
      
ms = new MemoryStream();
      
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
      
cs.Write(byt, 0, byt.Length);
      
cs.FlushFinalBlock();
 
      
cs.Close();
 
      
str= Encoding.UTF8.GetString(ms.ToArray());
 
      
return str;
}
链接地址:
http://dygstudio.cnblogs.com/archive/2006/07/13/449989.html


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

关于公钥私钥是否可以互相加解密的理解(附苹果开发者证书配置时非对称加密算法的应用)

查资料的时候发现很多人有疑惑,公钥和私钥到底哪个是用来加密,哪个是用来解密的,是否可以公钥加密私钥解密,同时也可以私钥加密公钥解密呢?针对这一问题,说下自己的理解。 首先要明确两个问题:(1)既可...

SM2非对称算法加解密

作者:彭金龙   原文地址:http://www.jonllen.cn/jonllen/work/164.aspx 在前面文章我们已经可以制作SM2证书了,主要应用了SM2签名验证算法和SM3摘...
  • kimwu
  • kimwu
  • 2013-11-07 16:28
  • 11488

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

对称加解密算法

对称加解密和非对称加解密的区别: 1. 对称加解密的加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络上传输,所以安全性不高。 2. 非对称加解密使用了一对密钥(公钥与私钥),所以安...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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