using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace GetPassWord
{
/// <summary>
///DES加解密类
/// </summary>
public class Encryptclass
{
/// <summary>
/// DES解密字符串
/// </summary>
/// <returns>解密后的字符串</returns>
public string Decrypt(string name, string name2, string password)
{
string cipher;
char[] key = new char[8];
if (name.Length > 8)
name = name.Remove(8);
name.CopyTo(0, key, 0, name.Length);
char[] iv = new char[8];
if (name2.Length > 8)
name2 = name2.Remove(8);
name2.CopyTo(0, iv, 0, name2.Length);
if (password == null)
{
throw new ArgumentNullException("password");
}
SymmetricAlgorithm serviceProvider = new DESCryptoServiceProvider();
serviceProvider.Key = Encoding.ASCII.GetBytes(key);
serviceProvider.IV = Encoding.ASCII.GetBytes(iv);
byte[] contentArray = Convert.FromBase64String(password);
MemoryStream memoryStream = new MemoryStream(contentArray);
CryptoStream cryptoStream = new CryptoStream(memoryStream, serviceProvider.CreateDecryptor(), CryptoStreamMode.Read);
StreamReader streamReader = new StreamReader(cryptoStream);
cipher = streamReader.ReadToEnd();
streamReader.Dispose();
cryptoStream.Dispose();
memoryStream.Dispose();
serviceProvider.Clear();
return cipher;
}
/// <summary>
/// DES加密字符串
/// </summary>
/// <returns>加密后的字符串</returns>
public string Encrypt(string name, string name2, string password)
{
string cipher;
char[] key = new char[8];
if (name.Length > 8)
name = name.Remove(8);
name.CopyTo(0, key, 0, name.Length);
char[] iv = new char[8];
if (name2.Length > 8)
name2 = name2.Remove(8);
name2.CopyTo(0, iv, 0, name2.Length);
if (password == null)
{
throw new ArgumentNullException("password");
}
SymmetricAlgorithm serviceProvider = new DESCryptoServiceProvider();
serviceProvider.Key = Encoding.ASCII.GetBytes(key);
serviceProvider.IV = Encoding.ASCII.GetBytes(iv);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, serviceProvider.CreateEncryptor(), CryptoStreamMode.Write);
StreamWriter streamWriter = new StreamWriter(cryptoStream);
streamWriter.Write(password);
streamWriter.Dispose();
cryptoStream.Dispose();
byte[] signData = memoryStream.ToArray();
memoryStream.Dispose();
serviceProvider.Clear();
cipher = Convert.ToBase64String(signData);
return cipher;
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace GetPassWord
{
/// <summary>
///DES加解密类
/// </summary>
public class Encryptclass
{
/// <summary>
/// DES解密字符串
/// </summary>
/// <returns>解密后的字符串</returns>
public string Decrypt(string name, string name2, string password)
{
string cipher;
char[] key = new char[8];
if (name.Length > 8)
name = name.Remove(8);
name.CopyTo(0, key, 0, name.Length);
char[] iv = new char[8];
if (name2.Length > 8)
name2 = name2.Remove(8);
name2.CopyTo(0, iv, 0, name2.Length);
if (password == null)
{
throw new ArgumentNullException("password");
}
SymmetricAlgorithm serviceProvider = new DESCryptoServiceProvider();
serviceProvider.Key = Encoding.ASCII.GetBytes(key);
serviceProvider.IV = Encoding.ASCII.GetBytes(iv);
byte[] contentArray = Convert.FromBase64String(password);
MemoryStream memoryStream = new MemoryStream(contentArray);
CryptoStream cryptoStream = new CryptoStream(memoryStream, serviceProvider.CreateDecryptor(), CryptoStreamMode.Read);
StreamReader streamReader = new StreamReader(cryptoStream);
cipher = streamReader.ReadToEnd();
streamReader.Dispose();
cryptoStream.Dispose();
memoryStream.Dispose();
serviceProvider.Clear();
return cipher;
}
/// <summary>
/// DES加密字符串
/// </summary>
/// <returns>加密后的字符串</returns>
public string Encrypt(string name, string name2, string password)
{
string cipher;
char[] key = new char[8];
if (name.Length > 8)
name = name.Remove(8);
name.CopyTo(0, key, 0, name.Length);
char[] iv = new char[8];
if (name2.Length > 8)
name2 = name2.Remove(8);
name2.CopyTo(0, iv, 0, name2.Length);
if (password == null)
{
throw new ArgumentNullException("password");
}
SymmetricAlgorithm serviceProvider = new DESCryptoServiceProvider();
serviceProvider.Key = Encoding.ASCII.GetBytes(key);
serviceProvider.IV = Encoding.ASCII.GetBytes(iv);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, serviceProvider.CreateEncryptor(), CryptoStreamMode.Write);
StreamWriter streamWriter = new StreamWriter(cryptoStream);
streamWriter.Write(password);
streamWriter.Dispose();
cryptoStream.Dispose();
byte[] signData = memoryStream.ToArray();
memoryStream.Dispose();
serviceProvider.Clear();
cipher = Convert.ToBase64String(signData);
return cipher;
}
}
}
浙公网安备 33010602011771号