CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

请问.net有自带的加密吗?或者有什么第三方的加密工具

楼主xiaobifei(小菲)2006-03-03 08:36:32 在 .NET技术 / C# 提问

请问.net有自带的加密吗?像在VFP中,就自带有加密选   项,或者有什么第三方的加密工具, 问题点数:20、回复次数:10Top

1 楼xiaowen01(小文)回复于 2006-03-03 08:38:33 得分 0

当然有了,你查询一下MSDN,象DES,3DES,MD5,多得很Top

2 楼kkk_visual(凡事对错先问自己)回复于 2006-03-03 08:42:05 得分 0

www.tomore.com  
  这个网站里有很多加密工具和算法。Top

3 楼califord(远方)回复于 2006-03-03 09:09:12 得分 20

当然有的  
  给你一句吧  
  System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(你要加密的字符串,   加密方法);  
  比如要加密的是TextBox1.Text     加密方法是MD5,那就是  
  System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,   MD5);    
  这样你总会举一反三了吧?Top

4 楼raulredondo()回复于 2006-03-03 11:24:33 得分 0

用下面的方法加密:  
  using   System;  
  using   System.IO;  
  using   System.Text;  
  using   System.Security.Cryptography;  
   
  ///   <summary>  
  ///   一个简单的使用.NET非对称加密算法的例子  
  ///   本例的程序很简单,仅用于说明如何在.NET里面使用非对称(RSA)算法。  
  ///   Kwanhong   2005.9  
  ///   </summary>  
  class   Class1  
  {  
    public   static   void   Main(string[]   args)  
    {  
      Class1   c=new   Class1();  
      c.StartDemo();  
    }  
   
    public   void   StartDemo()  
    {  
      //RSA的加解密过程:  
      //     有   rsa1   和   rsa2   两个RSA对象。  
      //     现在要   rsa2   发送一段信息给   rsa1,   则先由   rsa1   发送“公钥”给   rsa2  
      //     rsa2   获取得公钥之后,用来加密要发送的数据内容。  
      //     rsa1   获取加密后的内容后,用自己的私钥解密,得出原始的数据内容。  
   
      RSACryptoServiceProvider   rsa1   =   new   RSACryptoServiceProvider();  
      RSACryptoServiceProvider   rsa2   =   new   RSACryptoServiceProvider();  
   
      string   publickey;  
      publickey=rsa1.ToXmlString(false);     //导出   rsa1   的公钥  
   
      string   plaintext;  
      plaintext="你好吗?这是用于测试的字符串。";     //原始数据  
      Console.WriteLine("原始数据是:\n{0}\n",plaintext);  
   
      rsa2.FromXmlString(publickey);   //rsa2   导入   rsa1   的公钥,用于加密信息  
   
      //rsa2开始加密  
      byte[]   cipherbytes;  
      cipherbytes=rsa2.Encrypt(  
        Encoding.UTF8.GetBytes(plaintext),  
        false);  
   
      /*//////////////////////////////////////////////*/  
      Console.WriteLine("加密后的数据是:");  
      for(int   i=0;   i<   cipherbytes.Length;   i++)  
      {  
        Console.Write("{0:X2}   ",cipherbytes[i]);  
      }  
      Console.WriteLine("\n");  
      /*//////////////////////////////////////////////*/  
   
      //rsa1开始解密  
      byte[]   plaintbytes;  
      plaintbytes   =   rsa1.Decrypt(cipherbytes,false);  
   
      Console.WriteLine("解密后的数据是:");  
      Console.WriteLine(Encoding.UTF8.GetString(plaintbytes));  
   
      Console.ReadLine();  
    }  
  }  
   
   
  using   System;  
  using   System.Security.Cryptography;  
  using   System.Text;  
  using   System.IO;  
   
  ///   <summary>  
  ///   使用对称加密的例子  
  ///   </summary>  
  class   Class2  
  {  
   
    static   void   Main(string[]   args)  
    {  
      Class2   c=new   Class2();  
      c.StartDemo();  
    }  
   
    public   void   StartDemo()  
    {  
      //establish   symmetric   algorithm  
      SymmetricAlgorithm   sa   =   Rijndael.Create();  
   
      //key   and   iv  
      sa.GenerateKey();         //产生随机的   (32*8)   位的密钥  
      //sa.GenerateIV();         //初始向量,在ECB模式里面可以不用IV  
      sa.Mode   =   CipherMode.ECB;     //块处理模式  
      sa.Padding   =   PaddingMode.Zeros;   //末尾数据块的填充模式  
   
         
      Console.WriteLine("密钥是:");       ///////////  
      for   (int   i=0;   i<sa.Key.Length;   i++)     ///////////  
      {                     ///////////  
        Console.Write("{0:X2}   ",sa.Key[i]);   ///////////  
      }                     ///////////  
      Console.WriteLine("\n");         ///////////  
   
   
      //establish   crypto   stream  
      MemoryStream   ms   =   new   MemoryStream();  
      CryptoStream   cs   =   new   CryptoStream(ms,sa.CreateEncryptor(),CryptoStreamMode.Write);  
   
      //  
      string   plaintext;   //原始文本  
      byte[]   cipherbytes;   //加密后的数据  
      byte[]   finalbytes;     //解密后的数据  
   
      plaintext="How   are   you?   这是一行文字。";  
      byte[]   plainbytes   =   Encoding.UTF8.GetBytes(plaintext);  
   
   
      Console.WriteLine("原始文本是:\n{0}\n",plaintext);  
      //display   plaint   text   byte   array   in   hex   format  
      Console.WriteLine("原始数据是:");       ///////////  
      for   (int   i=0;   i<plainbytes.Length;   i++)     ///////////  
      {                       ///////////  
        Console.Write("{0:X2}   ",plainbytes[i]);   ///////////  
      }                       ///////////  
      Console.WriteLine("\n");           ///////////  
   
      //加密过程  
      cs.Write(plainbytes,   0,   plainbytes.Length);  
      cs.Close();  
      cipherbytes   =   ms.ToArray();  
      ms.Close();  
   
      //display   ciphertext   byte   array   in   hex   format  
      Console.WriteLine("加密后的数据是:");     ///////////  
      for   (int   i=0;   i<cipherbytes.Length;   i++)   ///////////  
      {                       ///////////  
        Console.Write("{0:X2}   ",cipherbytes[i]);///////////  
      }                       ///////////  
      Console.WriteLine("\n");           ///////////  
   
   
      //下面的为加密过程  
      ms=new   MemoryStream(cipherbytes);  
      cs=new   CryptoStream(ms,sa.CreateDecryptor(),CryptoStreamMode.Read);  
      finalbytes=new   byte[plainbytes.Length];  
      cs.Read(finalbytes,0,plainbytes.Length);  
   
      Console.WriteLine("解密后的数据是:");     ///////////  
      for   (int   i=0;   i<finalbytes.Length;   i++)           ///////////  
      {                       ///////////  
        Console.Write("{0:X2}   ",finalbytes[i]);   ///////////  
      }                       ///////////  
      Console.WriteLine("\n");           ///////////  
   
      string   finaltext=Encoding.UTF8.GetString(finalbytes);  
   
      Console.WriteLine("解密后的文本是:\n{0}\n\n",finaltext   );  
      Console.WriteLine("按任意键继续......");  
      Console.ReadLine();  
    }  
  }  
   
   
  DES和RSA加密Top

5 楼xiaobifei(小菲)回复于 2006-03-03 11:44:39 得分 0

v谢谢了,受教了,哪请问在编译的时候有没有自带的加密呢Top

6 楼hy98521(斯达克)回复于 2006-03-03 12:56:17 得分 0

当然有了,你查询一下MSDN,象DES,3DES,MD5,多得很  
   
  我常用MD5   有的时候也会用   BASE64  
  Top

7 楼diandian82(点点(nothing))回复于 2006-03-03 13:00:23 得分 0

学习Top

8 楼wls12342004(青青子木)回复于 2006-03-03 15:16:16 得分 0

不知你说的是加密数据还是加密你的软件?  
  加密软件可以用maxtocode   满好的,网上有的Top

9 楼giggsjw(秋叶)回复于 2006-03-03 15:20:10 得分 0

MD5Top

10 楼gp341(gp341)回复于 2006-03-03 15:27:40 得分 0

最新的aesTop

相关问题

  • asp加密工具
  • 找asp加密工具
  • .Net程序加密
  • .net代码如何加密?
  • 谁有加密asp的工具?
  • .net MD5加密,非hash加密,与asp完全兼容!
  • .NET 里字符串加密问题(怎么加密)
  • .net有无第三方控件
  • .NET的程序有没有加密的....
  • 请教.net下如何加密

关键词

  • .net
  • 加密
  • rsa
  • 数据
  • sa
  • 模式
  • 内容
  • security
  • startdemo
  • rsacryptoserviceprovider

得分解答快速导航

  • 帖主:xiaobifei
  • califord

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo