大冬天的,天气冷,闲着没事。今天就随手说说DES吧。
DES 全称为Data Encryption Standard即数据加密算法,它是IBM公司研究成功并公开发表的。
DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。
我今天写的密钥限制长度为8位的密钥。以下是CLICK事件的代码:
private void button1_Click(object sender, System.EventArgs e)
{
//加密
DESEncryptor des=new DESEncryptor();
des.EncryptKey=this.txtpwd1.Text;
des.InputString=this.content1.Text;
des.DesEncrypt();
this.textBox1.Text=des.OutString;
}
private void button2_Click(object sender, System.EventArgs e)
{
//解密ss
DESEncryptor des=new DESEncryptor();
des.DecryptKey=this.txtpwd2.Text; //解密钥
des.InputString=this.content2.Text;
des.DesDecrypt();
this.textBox1.Text=des.OutString;
}
}