本文整理汇总了C#中System.Security.Cryptography.DESCryptoServiceProvider.CreateDecryptor方法的典型用法代码示例。如果您正苦于以下问题:C# DESCryptoServiceProvider.CreateDecryptor方法的具体用法?C# DESCryptoServiceProvider.CreateDecryptor怎么用?C# DESCryptoServiceProvider.CreateDecryptor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.Cryptography.DESCryptoServiceProvider
的用法示例。
在下文中一共展示了DESCryptoServiceProvider.CreateDecryptor方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Decrypt
/// <summary>
/// 解密
/// </summary>
/// <param name="text">要被解密字符</param>
/// <param name="sKey">密钥</param>
/// <returns></returns>
public static string Decrypt(this string text, string sKey)
{
var provider = new DESCryptoServiceProvider();
int num = text.Length / 2;
byte[] buffer = new byte[num];
try
{
for (int i = 0; i < num; i++)
{
int num3 = Convert.ToInt32(text.Substring(i * 2, 2), 0x10);
buffer[i] = (byte)num3;
}
}
catch
{
return string.Empty;
}
provider.Key = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
provider.IV = Encoding.ASCII.GetBytes(FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
MemoryStream stream = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.Write);
try
{
stream2.Write(buffer, 0, buffer.Length);
stream2.FlushFinalBlock();
}
catch
{
return string.Empty;
}
return Encoding.Default.GetString(stream.ToArray());
}
示例2: Decrypt
public static string Decrypt(string sourceData)
{
// set key and initialization vector values
byte[] key = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };
byte[] iv = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };
try
{
// convert data to byte array
byte[] encryptedDataBytes =
Convert.FromBase64String(sourceData);
// get source memory stream and fill it
MemoryStream tempStream =
new MemoryStream(encryptedDataBytes, 0,
encryptedDataBytes.Length);
// get decryptor and decryption stream
DESCryptoServiceProvider decryptor =
new DESCryptoServiceProvider();
CryptoStream decryptionStream =
new CryptoStream(tempStream,
decryptor.CreateDecryptor(key, iv),
CryptoStreamMode.Read);
// decrypt data
StreamReader allDataReader =
new StreamReader(decryptionStream);
return allDataReader.ReadToEnd();
}
catch
{
throw new StringEncryptorException(
"Unable to decrypt data.");
}
}
示例3: Decode
public string Decode( string data ){
if (String.IsNullOrEmpty(data)) return String.Empty;
data = SelfDecode( data );
var byKey = Encoding.ASCII.GetBytes( Key64 );
var byIv = Encoding.ASCII.GetBytes( Iv64 );
byte[] byEnc;
try{
byEnc = Convert.FromBase64String( data );
}
catch{
return null;
}
var cryptoProvider = new DESCryptoServiceProvider();
var ms = new MemoryStream( byEnc );
var cst = new CryptoStream( ms, cryptoProvider.CreateDecryptor( byKey,
byIv ), CryptoStreamMode.Read );
var sr = new StreamReader( cst );
return sr.ReadToEnd();
}
示例4: Decrypt
public static string Decrypt(string strStringDecrypt, string strEncryptionKey)
{
byte[] inputByteArray = new byte[strStringDecrypt.Length];
try
{
key = Encoding.UTF8.GetBytes(strEncryptionKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(strStringDecrypt.Replace(" ", "+"));
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
Encoding encoding = Encoding.UTF8;
return encoding.GetString(ms.ToArray());
}
catch (Exception eX)
{
throw eX;
}
}
示例5: Decrypt
public static string Decrypt(string strText)
{
string text1;
if (strText == String.Empty)
{
return strText;
}
byte[] buffer1;
byte[] buffer2;
byte[] buffer3 = GetCryptArr();
try
{
buffer1 = Encoding.UTF8.GetBytes(GetCryptKey().Substring(0,8));
DESCryptoServiceProvider provider1 = new DESCryptoServiceProvider();
buffer2 = Convert.FromBase64String(strText);
MemoryStream stream2 = new MemoryStream();
using (CryptoStream stream1 = new CryptoStream(stream2, provider1.CreateDecryptor(buffer1, buffer3), CryptoStreamMode.Write))
{
stream1.Write(buffer2, 0, buffer2.Length);
stream1.FlushFinalBlock();
text1 = Encoding.UTF8.GetString(stream2.ToArray());
}
}
catch
{
return "Error";
}
return text1;
}
示例6: Decrypt
public static string Decrypt(string text)
{
byte[] encodedkey;
byte[] iv = { 0x1F, 0x2E, 0x3D, 0x4C, 0x5B, 0x6A, 0x78, 0xA7 };
byte[] bytes;
encodedkey = Encoding.UTF8.GetBytes(EncryptKey);
DESCryptoServiceProvider csp = new DESCryptoServiceProvider();
bytes = Convert.FromBase64String(text);
MemoryStream ms = new MemoryStream();
try
{
CryptoStream cs = new CryptoStream(ms, csp.CreateDecryptor(encodedkey, iv), CryptoStreamMode.Write);
cs.Write(bytes, 0, bytes.Length);
cs.FlushFinalBlock();
}
catch (Exception ex)
{
}
return Encoding.UTF8.GetString(ms.ToArray());
}
示例7: Decrypt
public static string Decrypt(string text)
{
try
{
key = Encoding.UTF8.GetBytes(stringKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] byteArray = Convert.FromBase64String(text);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream,
des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
cryptoStream.Write(byteArray, 0, byteArray.Length);
cryptoStream.FlushFinalBlock();
return Encoding.UTF8.GetString(memoryStream.ToArray());
}
catch (Exception ex)
{
// Handle Exception Here
}
return string.Empty;
}
示例8: Decrypt
/// <summary>
/// 用给定的Key进行解密
/// </summary>
/// <param name="key">密钥</param>
/// <param name="decryptString">要解密的字符串</param>
/// <returns>解密后的字符串</returns>
public static string Decrypt(string decryptString, string key)
{
if (string.IsNullOrWhiteSpace(key))
key = _Key;
else
key += _Key;
if (string.IsNullOrWhiteSpace(decryptString))
decryptString = string.Empty;
byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8));
byte[] keyIV = keyBytes;
byte[] inputByteArray = new byte[decryptString.Length / 2];
for (int x = 0; x < decryptString.Length / 2; x++)
{
int i = (Convert.ToInt32(decryptString.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
using (DESCryptoServiceProvider provider = new DESCryptoServiceProvider())
{
using (MemoryStream mStream = new MemoryStream())
{
using (CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write))
{
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
}
}
}
示例9: DESDecrypt
/// <summary>
/// Decrypt input string by DES algorithm.
/// </summary>
/// <param name="inputString">Input string is for decryption.</param>
/// <returns>Decrypted string.</returns>
public static string DESDecrypt(string inputString)
{
MemoryStream ms = null;
CryptoStream cs = null;
StreamReader sr = null;
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
try
{
ms = new MemoryStream(Convert.FromBase64String(inputString));
cs = new CryptoStream(ms, des.CreateDecryptor(key, iv), CryptoStreamMode.Read);
sr = new StreamReader(cs);
return sr.ReadToEnd();
}
finally
{
if (sr != null)
{
sr.Close();
}
if (cs != null)
{
cs.Close();
}
if (ms != null)
{
ms.Close();
}
}
}
示例10: decrypt
//Decrytping instead of encrypting
public static void decrypt(FileStream inputStream, FileStream decryptedStream, byte[] key)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
ICryptoTransform decryptor;
DES.Key = key;
DES.IV = key;
decryptor = DES.CreateDecryptor(DES.Key, DES.IV);
try
{
CryptoStream cryptostream = new CryptoStream(decryptedStream, decryptor, CryptoStreamMode.Write);
byte[] byteArrayInput = new byte[inputStream.Length];
inputStream.Read(byteArrayInput, 0, byteArrayInput.Length);
cryptostream.Write(byteArrayInput, 0, byteArrayInput.Length);
cryptostream.Close();
inputStream.Close();
decryptedStream.Close();
}
catch (System.IO.IOException e)
{
MessageBox.Show("Could not open source or destination file.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
catch (System.Security.Cryptography.CryptographicException e)
{
MessageBox.Show("Bad key or file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
示例11: DES_Decrypt
/// <summary>
/// DES���� Encoding.Default
/// </summary>
/// <param name="source">����</param>
/// <param name="key">��Կ</param>
/// <returns>����</returns>
public static string DES_Decrypt(string source, string key)
{
if (string.IsNullOrEmpty(source))
return null;
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//���ַ���תΪ�ֽ�����
byte[] inputByteArray = new byte[source.Length / 2];
for (int x = 0; x < source.Length / 2; x++)
{
int i = (Convert.ToInt32(source.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
//�������ܶ������Կ��ƫ��������ֵ��Ҫ��������
des.Key = UTF8Encoding.UTF8.GetBytes(key);
des.IV = UTF8Encoding.UTF8.GetBytes(key);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//����StringBuild����CreateDecryptʹ�õ�����������ѽ��ܺ���ı����������
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
示例12: DESDecrypt
//Decrypt the content
public static string DESDecrypt(string stringToDecrypt)
{
byte[] key;
byte[] IV;
byte[] inputByteArray;
try
{
key = Convert2ByteArray(DESKey);
IV = Convert2ByteArray(DESIV);
int len = stringToDecrypt.Length; inputByteArray = Convert.FromBase64String(stringToDecrypt);
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
Encoding encoding = Encoding.UTF8; return encoding.GetString(ms.ToArray());
}
catch (System.Exception ex)
{
throw ex;
}
}
示例13: CreateDecryptor
public static ICryptoTransform CreateDecryptor(string key, CryptionType type)
{
ICryptoTransform transform;
SHA512 sha512 = new SHA512CryptoServiceProvider();
var bytes = sha512.ComputeHash(Sha1(key).ToAsciiBytes());
switch (type)
{
case CryptionType.Aes:
var aes = Rijndael.Create();
aes.Mode = CipherMode.CBC;
transform = aes.CreateDecryptor(bytes.Skip(17).Take(32).ToArray(), bytes.Skip(17).Take(16).ToArray());
aes.Clear();
break;
case CryptionType.Des:
var des = new DESCryptoServiceProvider { Mode = CipherMode.CBC };
transform = des.CreateDecryptor(bytes.Skip(17).Take(8).ToArray(), bytes.Skip(17).Take(16).ToArray());
des.Clear();
break;
default:
var tripleDes = new TripleDESCryptoServiceProvider { Mode = CipherMode.CBC };
transform = tripleDes.CreateDecryptor(bytes.Skip(17).Take(24).ToArray(), bytes.Skip(17).Take(16).ToArray());
tripleDes.Clear();
break;
}
return transform;
}
示例14: DESDecrypt
/// <summary>
/// 使用DES解密(Added by niehl 2005-4-6)
/// </summary>
/// <param name="encryptedValue">待解密的字符串</param>
/// <param name="key">密钥(最大长度8)</param>
/// <param name="IV">m初始化向量(最大长度8)</param>
/// <returns>解密后的字符串</returns>
public string DESDecrypt(string encryptedValue, string key, string IV)
{
//将key和IV处理成8个字符
key += "12345678";
IV += "12345678";
key = key.Substring(0, 8);
IV = IV.Substring(0, 8);
SymmetricAlgorithm sa;
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
sa = new DESCryptoServiceProvider();
sa.Key = System.Text.Encoding.UTF8.GetBytes(key);
sa.IV = System.Text.Encoding.UTF8.GetBytes(IV);
ct = sa.CreateDecryptor();
byt = Convert.FromBase64String(encryptedValue);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return System.Text.Encoding.UTF8.GetString(ms.ToArray());
}
示例15: DecryptString
/// <summary>
/// 使用DES以及固定的密码解密字符串
/// </summary>
/// <param name="pToDecrypt">待解密字符串</param>
/// <returns></returns>
public static string DecryptString(string pToDecrypt)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
try
{
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for (int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
des.Key = Encoding.Default.GetBytes(DESKEY);
des.IV = Encoding.Default.GetBytes(DESKEY);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
catch
{
return pToDecrypt;
}
finally
{
des = null;
}
}