问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

3DES的加密过程

发布网友 发布时间:2022-04-24 16:57

我来回答

1个回答

热心网友 时间:2022-05-15 03:07

3DES加密过程为:C=Ek3(Dk2(Ek1(P)))
3DES解密过程为:P=Dk1(EK2(Dk3(C)))
具体的加/解密过程如图所示。
using System;
using System.Text;
using System. IO;
using System.Security.Cryptography;
class Class1
{
static void Main()
{
Console.WriteLine(Encrypt String...);
txtKey = tkGGRmBErvc=;
btnKeyGen();
Console.WriteLine(Encrypt Key :{0},txtKey);
txtIV = Kl7ZgtM1dvQ=;
btnIVGen();
Console.WriteLine(Encrypt IV :{0},txtIV);
Console.WriteLine();
string txtEncrypted = EncryptString(1111);
Console.WriteLine(Encrypt String : {0},txtEncrypted);
string txtOriginal = DecryptString(txtEncrypted);
Console.WriteLine(Decrypt String : {0},txtOriginal);
}
private static SymmetricAlgorithm mCSP;
private static string txtKey;
private static string txtIV;
private static void btnKeyGen()
{
mCSP = SetEnc();
byte[] byt2 = Convert.FromBase64String(txtKey);
mCSP.Key = byt2;
}
private static void btnIVGen()
{
byte[] byt2 = Convert.FromBase64String(txtIV);
mCSP.IV = byt2;
}
private static string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
private static string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Encoding.UTF8.GetString(ms.ToArray());
}
private static SymmetricAlgorithm SetEnc()
{
return new DESCryptoServiceProvider();
}
}
K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是比较安全的。若数据对安全性要求不那么高,K1可以等于K3。在这种情况下,密钥的有效长度为112位。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求抛物线y×y-6x=0的焦点坐标和准线方程 6-6x=6的解是x=0 .( ) 判断题 财富 一个方程问题:6x=0有没有解 6x=0,x=( ) 下列算式是方程的是( )A.101-1=100B.8x-2C.6x=0D.x-17 6X=0,这个方程没有解 对吗? 6x=0不是方程.××.(判断对错) 6x=0是方程. __ (判断对错) 今晚地球停电一小时,做点什么好呢 月经第八天还有褐色分泌物预防什么病 如何用Java进行3DES加密解 ICBC-ATMC加密模式设置工具? 拨号上网电脑为什么总掉线 什么是3DES对称加密算法? 单位网络经常掉线,是什么问题? 3DES 加密解密 为何办公室网络时断时续??解决再加100分 我用3DES加密后怎么样才能得到16位的密文 办公室电脑总是断网 需重连 如何使用3des算法 加密文档 如何用Java进行3DES加密解密 办公楼内大概100多台电脑,但是网络非常不稳定,有的办公室能上,但有的办公室总是掉线,是什么原因怎么办 3des加密 密钥 办公室局域网内,其他电脑上网正常,我的总是经常掉线怎么回事? 3des加密原理 java进行3des加密传过来的数据,php怎么解密? 电脑经常掉线怎么办 办公室网络总掉。 办公室网络无故掉线 为什么我们办公室的网络总是不间断的掉线? 3des加密算法是标准的吗 ios 3des加密 32位key怎么使用 如何使用3des加密方式得到只含数字和字母的加密字符串(C#) 直肠变大,怎么变回去呀? 卫士通加密机怎么样实现3des加解密 直肠变大,大家都怎么治疗的? java 3des双倍长 有参考的代码给提供下吗? 直肠粗大,怎么治疗呀? C#3des加密时候需要密钥 直肠变大了,怎么变回去呀? 直肠炎,直肠粗大,怎么做手术治疗呀? 电脑的文件侠是怎样加密的,不用加密工具??? 恒天然安满怎么样? 安满益生菌和恒天然集团有什么关系呢? 人的直肠的长度大概为多少厘米? 各位觉得安满和美素佳儿奶粉哪个更好? 人的直肠的长度大概为多少厘米 安满婴儿奶粉怎样,是大品牌吗? 结肠癌和直肠癌统称为“大肠癌”,它们的早期症状有哪些? 安满的奶源地介绍