千家信息网

如何理解C#DES加密解密的实现

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关如何理解C#DES加密解密的实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C# DES加密解密的实现,DES算法为密码
千家信息网最后更新 2026年11月02日如何理解C#DES加密解密的实现

这篇文章将为大家详细讲解有关如何理解C#DES加密解密的实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

C# DES加密解密的实现,DES算法为密码体制中的对称密码体制,由IBM公司研制的对称密码体制加密算法。其核心为密钥长度为56位,明文按64位进行分组,将分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。

C# DES加密解密的实现实例:

C# DES加密解密之名称空间 :

using  System;    using  System.Security.Cryptography;    using  System.IO;    using  System.Text;

C# DES加密解密之方法 :

//加密方法    publicstring  Encrypt(string  pToEncrypt,  string  sKey)    {     DESCryptoServiceProvider  des  =  new  DESCryptoServiceProvider();     //把字符串放到byte数组中      //原来使用的UTF8编码,我改成Unicode编码了,不行     byte[]  inputByteArray  =  Encoding.Default.GetBytes(pToEncrypt);     //byte[]  inputByteArray=Encoding.Unicode.GetBytes(pToEncrypt);

C# DES加密解密之建立加密对象的密钥和偏移量

 //原文使用ASCIIEncoding.ASCII方法的GetBytes方法     //使得输入密码必须输入英文文本     des.Key  =  ASCIIEncoding.ASCII.GetBytes(sKey);     des.IV  =  ASCIIEncoding.ASCII.GetBytes(sKey);     MemoryStream  ms  =  new  MemoryStream();     CryptoStream  cs  =  new  CryptoStream(  ms,  des.CreateEncryptor(),CryptoStreamMode.Write);     //Write  the  byte  array  into  the  crypto  stream     //(It  will  end  up  in  the  memory  stream)     cs.Write(inputByteArray,  0,  inputByteArray.Length);     cs.FlushFinalBlock();     //Get  the  data  back  from  the  memory  stream,  and  into  a  string     StringBuilder  ret  =  new  StringBuilder();     foreach(byte  b  in  ms.ToArray())       {       //Format  as  hex       ret.AppendFormat("{0:X2}",  b);       }     ret.ToString();     return  ret.ToString();    }

C# DES加密解密之解密方法

publicstring  Decrypt(string  pToDecrypt,  string  sKey)    {     DESCryptoServiceProvider  des  =  new  DESCryptoServiceProvider();      //Put  the  input  string  into  the  byte  array     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;     }

C# DES加密解密之建立加密对象的密钥和偏移量,此值重要,不能修改

 des.Key  =  ASCIIEncoding.ASCII.GetBytes(sKey);     des.IV  =  ASCIIEncoding.ASCII.GetBytes(sKey);     MemoryStream  ms  =  new  MemoryStream();     CryptoStream  cs  =  new  CryptoStream(ms,    des.CreateDecryptor(),CryptoStreamMode.Write);     //Flush  the  data  through  the  crypto  stream  into  the  memory  stream     cs.Write(inputByteArray,  0,  inputByteArray.Length);     cs.FlushFinalBlock();      //Get  the  decrypted  data  back  from  the  memory  stream     //建立StringBuild对象,  //CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象     StringBuilder  ret  =  new  StringBuilder();          return  System.Text.Encoding.Default.GetString(ms.ToArray());    }

关于如何理解C#DES加密解密的实现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

加密 加密解密 方法 对象 C# 密码 密钥 体制 对称 内容 文本 文章 明文 更多 知识 算法 篇文章 编码 偏移 分组 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海睿民互联网科技有限公司 新华互联网科技学校 互联网属科技 互联网巨头科技公司 互联网与科技金融数据 科技制造互联网公司 互联网科技公司发展 深圳前海聚择互联网科技有限公司 天速互联网络科技有限公司 互联网教育科技公司vipkid 互联网还是高科技吗 宝灵互联网科技有限公司 互联网科技研发水平 阿里互联网科技企业 无锡工业互联网科技有限公司 四川互联网展示科技馆设计 有人说阿里系是互联网科技企业 深圳互联网科技园地址 长沙易易互联网科技有限公司 互联网领先科技成果宣传视频 广东万易互联网科技有限公司惠州分公司 广州紫鲸互联网科技有限公司 科技创新与互联网经济 科技互联网公司装修 互联网与科技发展 卓越科技(互联网 ) 互联网领先科技宣传片 容联科技互联网电商 美国五大互联网科技公司市值多少 高科技和互联网的现代国家
0