本文整理汇总了C#中System.Security.Cryptography.DESCryptoServiceProvider.GenerateKey方法的典型用法代码示例。如果您正苦于以下问题:C# DESCryptoServiceProvider.GenerateKey方法的具体用法?C# DESCryptoServiceProvider.GenerateKey怎么用?C# DESCryptoServiceProvider.GenerateKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.Cryptography.DESCryptoServiceProvider
的用法示例。
在下文中一共展示了DESCryptoServiceProvider.GenerateKey方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ByMSMQ
static void ByMSMQ()
{
Console.WriteLine("Opening MSMQ...");
//messageQueue = !MessageQueue.Exists(QueueName) ? MessageQueue.Create(QueueName) : new MessageQueue(QueueName);4
messageQueue = new MessageQueue(QueueName);
Console.WriteLine("Server is ready");
Console.WriteLine("Launch client app");
RSA_public_key_receive();
Console.WriteLine("Receiving open RSA-key...");
Console.WriteLine("Making DES-key...");
des_provider = new DESCryptoServiceProvider();
des_provider.GenerateKey();
des_provider.GenerateIV();
Console.WriteLine("Crypt DES-key with open RSA-key...");
DES_key = Encrypt_RSA(des_provider.Key);
Console.WriteLine("Sending encrypted DES-key and initialization vector(IV)...");
messageQueue.Send(DES_key);
messageQueue.Send(des_provider.IV);
Console.WriteLine("Getting data from Access...");
GetData();
Console.WriteLine("Crypt data...");
var myMemoryStream = new MemoryStream();
EncryptAndSerialize(myMemoryStream, data_to_recieve.ToArray());
Console.WriteLine("Transfering data...");
//Console.WriteLine("length = " + myMemoryStream.Length);
messageQueue.Send(myMemoryStream.ToArray());
Console.WriteLine("Successfull");
Console.ReadKey();
}
示例2: GenerateRandomKey
/// <summary>
/// 生成随机的Key和初始化向量
/// </summary>
/// <returns>随机的Key和初始化向量</returns>
public virtual DESKey GenerateRandomKey()
{
var des = new DESCryptoServiceProvider();
des.GenerateIV();
des.GenerateKey();
return new DESKey
{
IV = des.IV,
Key = des.Key
};
}
示例3: EncryptCode
public static NCryptoParms EncryptCode(string decData, string spKey) {
NCryptoParms parms = new NCryptoParms();
ICryptoTransform encryptor;
CryptoStream cStream;
MemoryStream mStream = new MemoryStream();
try {
// Generate a new RSA public/private key pair
// This key will be used to signature the DES IV and Key.
RSACryptoServiceProvider jRsa = new RSACryptoServiceProvider();
byte[] signature = jRsa.SignData(sign, new MD5CryptoServiceProvider());
parms.jpbkey =
Convert.ToBase64String(Encoding.ASCII.GetBytes(jRsa.ToXmlString(false)));
parms.jprkey =
Convert.ToBase64String(Encoding.ASCII.GetBytes(jRsa.ToXmlString(true)));
parms.signature = Convert.ToBase64String(signature);
jRsa.Clear();
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(
Encoding.ASCII.GetString(Convert.FromBase64String(spKey)));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.GenerateIV();
des.GenerateKey();
parms.key = Convert.ToBase64String(rsa.Encrypt(des.Key, false));
parms.iv = Convert.ToBase64String(rsa.Encrypt(des.IV, false));
encryptor = des.CreateEncryptor(des.Key, des.IV);
cStream = new CryptoStream(mStream, encryptor, CryptoStreamMode.Write);
byte[] bytesIn = Encoding.ASCII.GetBytes(decData);
cStream.Write(bytesIn, 0, bytesIn.Length);
cStream.FlushFinalBlock();
cStream.Close();
byte[] bytesOut = mStream.ToArray();
mStream.Close();
parms.enc = Convert.ToBase64String(bytesOut);
} catch {
mStream.Close();
}
return parms;
}
示例4: Encrypt
/// <summary>
/// 加密数据
/// </summary>
/// <param name="Text"></param>
/// <param name="key"></param>
/// <param name="iv"></param>
/// <returns></returns>
public static string Encrypt(string Text, out string key, out string iv)
{
key = "";
iv = "";
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.Default.GetBytes(Text);
des.GenerateIV();
des.GenerateKey();
iv = new UnicodeEncoding().GetString(des.IV);
key = new UnicodeEncoding().GetString(des.Key);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
return ret.ToString();
}
示例5: Main
static void Main(string[] args)
{
Console.Title = "文件加密";
FileStream file = File.OpenRead("300 classic examples.txt");//以只读方式打开文件
byte[] fileArray = new byte[file.Length]; //缓存文件
file.Read(fileArray, 0, fileArray.Length); //读取文件内容
file.Close();
DESCryptoServiceProvider des = new DESCryptoServiceProvider();//DES加密算法服务对象
des.GenerateKey(); //生成DES加密密钥
des.GenerateIV(); //生成DES加密初始化向量
Console.WriteLine("DES加密密钥为:");
foreach (var item in des.Key) Console.Write(string.Format("{0:X2}", item));
Console.WriteLine("\nDES加密初始化向量为:");
foreach (var item in des.IV) Console.Write(string.Format("{0:X2}", item));
FileStream fileKey = File.Create("Key"); //将Key存储到文件中
fileKey.Write(des.Key, 0, des.Key.Length);
fileKey.Close();
FileStream fileIV = File.Create("IV"); //将IV存储到文件中
fileIV.Write(des.IV, 0, des.IV.Length);
fileIV.Close();
MemoryStream memoryStream = new MemoryStream(); //创建内存流对象
//创建加密流对象
CryptoStream cryptoStream = new CryptoStream(memoryStream, des.CreateEncryptor(), CryptoStreamMode.Write);
cryptoStream.Write(fileArray, 0, fileArray.Length); //将文件内容加密后的文件写入内存流中
cryptoStream.FlushFinalBlock();
FileStream fileEncrypt = File.Create("300 classic examples.encrypt");//加密后的文件
//将加密的文件内容写入到文件中
foreach (byte value in memoryStream.ToArray()) fileEncrypt.WriteByte(value);
Console.WriteLine("\n文件已加密!\n密文保存到文件300 classic examples.encrypt中");
fileEncrypt.Close();
cryptoStream.Close();
memoryStream.Close();
Console.ReadLine();
}
示例6: GenerarClavesAutomaticamente
/// <summary>
/// Método genera claves automaticamente.
/// </summary>
/// <returns>
/// Mensajes de impresión.
/// </returns>
public static string GenerarClavesAutomaticamente()
{
// Declara mensajes de impresión.
string vMsgImpresion = string.Empty;
// Crea instancia de DESCryptoServiceProvider.
// Crear claves simétricas automáticamente.
DESCryptoServiceProvider vServicioCriptograficoDES = new DESCryptoServiceProvider();
// Genera claves.
vServicioCriptograficoDES.GenerateIV();
vServicioCriptograficoDES.GenerateKey();
// Asigna las claves generadas a variables.
byte[] vClaveIV = vServicioCriptograficoDES.IV;
byte[] vClaveKey = vServicioCriptograficoDES.Key;
// Asigna mensajes.
vMsgImpresion += "GENERACION AUTOMATICA (DES): La longitud de la clave (KeySize) es de " + vServicioCriptograficoDES.KeySize + " bytes. \n ";
vMsgImpresion += "GENERACION AUTOMATICA (DES): La longitud de la clave es de " + vClaveKey.Length + " bytes \n ";
// Retorna mensaje.
return vMsgImpresion;
}
示例7: Encrypt
/// <summary>
/// 加密
/// </summary>
/// <param name="input"></param>
/// <param name="key"></param>
/// <param name="iv"></param>
/// <returns></returns>
public static string Encrypt(string input,out string key,out string iv)
{
key = "";
iv = "";
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
byte[] bytes = Encoding.Default.GetBytes(input);
provider.GenerateIV();
provider.GenerateKey();
iv = new UnicodeEncoding().GetString(provider.IV);
key = new UnicodeEncoding().GetString(provider.Key);
MemoryStream stream = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write);
stream2.Write(bytes, 0, bytes.Length);
stream2.FlushFinalBlock();
StringBuilder sb = new StringBuilder();
var sarray = stream.ToArray();
foreach (var item in sarray)
{
sb.AppendFormat("{0:X2}", item);
}
stream.Close();
stream2.Close();
return sb.ToString();
}
示例8: BySocket
static void BySocket()
{
Console.WriteLine("Creating a socket...");
const int port = 13000;
var localAddr = IPAddress.Parse("127.0.0.1");
var listener = new TcpListener(localAddr, port);
listener.Start();
Console.WriteLine("Server is ready");
Console.WriteLine("Launch client app");
var clientSocket = listener.AcceptSocket();
if (clientSocket.Connected)
{
RSA_public_key = new byte[276];
Console.WriteLine("Getting open RSA-key...");
clientSocket.Receive(RSA_public_key);
Console.WriteLine("Generating DES-key...");
des_provider = new DESCryptoServiceProvider();
des_provider.GenerateKey();
des_provider.GenerateIV();
Console.WriteLine("Encrypting DES with open RSA...");
DES_key = Encrypt_RSA(des_provider.Key);
Console.WriteLine("Sending encrypted DES...");
clientSocket.Send(DES_key);
clientSocket.Send(des_provider.IV);
Console.WriteLine("Getting data from db...");
GetData();
Console.WriteLine("Crypting data...");
var myMemoryStream = new MemoryStream();
EncryptAndSerialize(myMemoryStream, data_to_recieve.ToArray());
Console.WriteLine("Transfering data...");
//send byte[2], где byte[0]*256 + byte[1] = myMemoryStream.ToArray().Length
clientSocket.Send(new[] { (byte)(myMemoryStream.ToArray().Length / 256), (byte)(myMemoryStream.ToArray().Length % 256) });
clientSocket.Send(myMemoryStream.ToArray());
Console.WriteLine("Successfully");
}
clientSocket.Close();
listener.Stop();
Console.ReadKey();
}
示例9: GenerateKey
public void GenerateKey(out string key, out string iv)
{
key = "";
iv = "";
using (DESCryptoServiceProvider des_o = new DESCryptoServiceProvider())
{
des_o.GenerateIV();
des_o.GenerateKey();
iv = Convert.ToBase64String(des_o.IV);
key = Convert.ToBase64String(des_o.Key);
}
}
示例10: Encode
/// <summary>
/// 授权编码
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
internal static String Encode(String text)
{
String xml = text;
#if ISMANAGE
//签名。XCode生成的Lic文件不包含签名,防止私钥泄露
xml += "$"+ License.Sign(Encoding.UTF8.GetBytes(xml), PrivateKey);
#else
xml += "$";
#endif
//DES加密
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//IV的明文
String key = "mama shuo wo zhang da le";
//加密IV
des.GenerateIV();
String iv = Convert.ToBase64String(Encrypt(des.IV, key));
//生成一个Key
des.GenerateKey();
key = Convert.ToBase64String(des.Key);
key = key + "|" + iv;
//DES加密
xml = Encrypt(xml, key);
xml += "@" + key;
//RC4加密
Byte[] bts = Encrypt(Encoding.UTF8.GetBytes(xml), InternalKey);
return Convert.ToBase64String(bts);
}
示例11: GenKey
/// <summary>
/// 产生密钥。
/// </summary>
/// <returns></returns>
private static string GenKey()
{
SymmetricAlgorithm csp = new DESCryptoServiceProvider();
csp.GenerateKey();
return Convert.ToBase64String(csp.Key);
}