网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

C#中加密解密标准函数示例——DES,SHA1,RSA

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

最近收到了很多朋友的来信说希望提供DES的C#代码,但是我个人认为,.NET 提供了很多标准函数,没有必要自己写,所以我也只发布了C++的代码,如果大家一定要熟悉加密过程的话,也可以自己动手实现整个过程,这个可以参考我博客里的DES 算法介绍,和yxyDES2 Class的代码,代码注释相当的清楚。

  .NET 提供了很多标准加密、解密函数,我简要介绍一下DES,SHA1,RSA的标准函数的使用。如果你想做一个网络安全模块,只需将三种算法结合起来设计一个模型,我相信可以实现很多复杂的功能。
  示例本身并不复杂,我也不做过多解释,我也学Linus Torvalds一样吼一句:"Read the f**ing code”,哈哈,开个玩笑,我相信大家肯定能看懂。

注:以下示例需引用命名空间 : using System.Security.Cryptography;

一. DES 加密、解密
  我相信一下注释相当清楚了,加上我博客里关于DES的文章确实不少,所以DES不做任何解释,怎么调用就更不用解释了吧,呵呵:

点击展开

. SHA1 加密 (HASH算法没有解密)

  安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。
SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。

代码如下:

/// <summary>
        /// use sha1 to encrypt string
        /// </summary>

        public string SHA1_Encrypt(string Source_String)
        {
            byte StrRes = Encoding.Default.GetBytes(Source_String);
            HashAlgorithm iSHA = new SHA1CryptoServiceProvider();
            StrRes = iSHA.ComputeHash(StrRes);
            StringBuilder EnText = new StringBuilder();
            foreach (byte iByte in StrRes)
            {
                EnText.AppendFormat("{0:x2}", iByte);
            }

            return EnText.ToString();
        }

三.RSA 加密、解密 (本例来自 MSDN)
  RSA加密算法是一种非对称加密算法。在公钥加密标准和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
  RSA算法的可靠性基于分解极大的整数是很困难的。假如有人找到一种很快的分解因子的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。
  具体算法过程请参考http://zh.wikipedia.org/wiki/RSA%E5%8A%A0%E5%AF%86%E6%BC%94%E7%AE%97%E6%B3%95
  代码示例如下(来自MSDN):

点击展开

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师