作者ccc316123 (ccc)
看板CSSE
标题[问题] ICryptoTransform 使用上的问题
时间Mon Sep 28 01:13:51 2009
※ [本文转录自 C_Sharp 看板]
作者: ccc316123 (ccc) 看板: C_Sharp
标题: [问题] ICryptoTransform 使用上的问题
时间: Mon Sep 28 01:10:21 2009
上课时
老师丢了两个ICryptoTransform的程式范例给我
要我查出两种写法差异在哪?
执行上速度快慢的比较
------------------------------------------------------------------------
范例1 :
static byte[] DESEncrypt(String strInput, byte[] byteKey, byte[] byteIV)
{
DES des = null;
ICryptoTransform ict = null;
MemoryStream ms = null;
CryptoStream cs = null;
StreamWriter sw = null;
byte[] byteResult = null;
try
{
// Create a new DES object to generate a key
// and initialization vector (IV).
des = DES.Create();
des.Key = byteKey;
des.IV = byteIV;
ict = des.CreateEncryptor();
ms = new MemoryStream();
cs = new CryptoStream(ms, ict, CryptoStreamMode.Write);
sw = new StreamWriter(cs);
sw.Write(strInput);
sw.Close();
cs.Close();
byteResult = ms.ToArray();
ms.Close();
return byteResult;
}
catch (Exception e)
{
throw e;
}
finally
{
if (sw != null)
sw.Close();
if (cs != null)
cs.Close();
if (ms != null)
ms.Close();
}
}
------------------------------------------------------------------------
范例2 :
DES des = null;
public DesSample()
{
des = new DESCryptoServiceProvider();
}
public string Encrypt(string data, byte[] bKey)
{
try
{
byte[] bData = Encoding.UTF8.GetBytes(data);
des.Key = bKey;
ICryptoTransform iCryptoTransform = des.CreateEncryptor();
byte[] bResult =
iCryptoTransform.TransformFinalBlock(bData, 0, bData.Length);
return Convert.ToBase64String(bResult);
}
catch
{
throw;
}
}
------------------------------------------------------------------------
小弟我查了很久
一直找不到资料
听老师说
Microsoft宣称第一种写法是最快的
为什麽勒??
还请各位大大指教一下
或告诉我哪里可以找到相关资料><
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.198.82
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.198.82