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

搜尽百度,雅虎都没找到答案的小问题!

楼主netzb()2006-06-03 10:19:44 在 .NET技术 / ASP.NET 提问

在ASP。NET中使用RSA加密数据,在本机上测试一切正常。但放在服务器上报错:  
    未能获取此实现的   CryptoAPI   加密服务提供程序(CSP)”    
  在网上搜了下是知道了原因是权限的问题。(http://dev.csdn.net/article/55/55051.shtm有详细说明),但给出的解决方案是微软的http://support.microsoft.com/default.aspx?scid=kb;en-us;322371不过小弟E文太菜没看得太懂,基本上网上就全是这个答案,也没什么具体点的。请教各位! 问题点数:20、回复次数:8Top

1 楼lshlfyf()回复于 2006-06-03 10:25:49 得分 0

怎么不去google找找呢?Top

2 楼netzb()回复于 2006-06-03 10:34:06 得分 0

搜到的东西基本都一样,就是没个稍微详细的说法Top

3 楼netzb()回复于 2006-06-03 10:40:40 得分 0

private   string   RSAEncrypt   (   string     bb   )//加密  
        {  
     
        RSACryptoServiceProvider   rsa   =   new   RSACryptoServiceProvider();  
       
       
                                      StreamReader   reader1=new   StreamReader(“这里是存放公钥的文件路径”   );//公钥  
      string   PKeyXml=reader1.ReadToEnd();  
          rsa.FromXmlString(PKeyXml);//公钥  
         
   
   
      byte[]       PlainTextbArray       =       (new       UnicodeEncoding()).GetBytes(bb);          
    byte[]   CypherTextbArray       =       rsa.Encrypt(PlainTextbArray,       false);           //调用加密算法  
   
      string   JMdata=Convert.ToBase64String(CypherTextbArray);  
        return   JMdata;  
        }  
   
   
          private   string   RSADecrypt(string   b)//解密  
         
  {  
   
  byte[]       PlainTextbArray;        
  byte[]       DypherTextbArray;        
  string       Result;        
  System.Security.Cryptography.RSACryptoServiceProvider       rsa=new       RSACryptoServiceProvider();        
   
  StreamReader   reader=new   StreamReader(   (“这里是存放私钥的文件”);//私钥  
  string   PPKey=reader.ReadToEnd();  
   
  rsa.FromXmlString(PPKey);        
   
  PlainTextbArray       =Convert.FromBase64String(b);        
  DypherTextbArray=rsa.Decrypt(PlainTextbArray,       false);        
  Result=(new       UnicodeEncoding()).GetString(DypherTextbArray);        
  return       Result;        
   
        }  
   
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  //生成公钥和私钥  
  {  
  RSACryptoServiceProvider   rsa   =   new   RSACryptoServiceProvider();  
       
  rsaParamsExcludePrivate=rsa.ExportParameters(false);//公  
  rsaParamsIncludePrivate=rsa.ExportParameters(true);  
   
  StreamWriter   writer=new   StreamWriter(   (“这里是存放私钥的文件”   );  
  string   PPKeyXml=rsa.ToXmlString(true);//写入私钥  
  writer.Write(PPKeyXml);  
  writer.Close();  
   
  writer=new   StreamWriter(   (“这里是存放公钥的文件”   );  
  string   PKeyXml=rsa.ToXmlString(false);//写入写入公钥  
  writer.Write(PKeyXml);  
  writer.Close();  
  }  
  Top

4 楼netzb()回复于 2006-06-03 11:32:21 得分 0

还是解决了。贴给大家参考一下:  
  RSACryptoServiceProvider   rsa   =   new   RSACryptoServiceProvider();  
  凡是这一句通通改成  
  CspParameters       CSPParam       =       new       CspParameters();        
  CSPParam.Flags       =       CspProviderFlags.UseMachineKeyStore;        
  RSACryptoServiceProvider       rsa       =       new       RSACryptoServiceProvider(CSPParam);Top

5 楼iceblue2005gather(美丽心情)回复于 2006-06-03 11:38:33 得分 5

mark   搂主品格,高风亮节Top

6 楼iceblue2005gather(美丽心情)回复于 2006-06-03 11:44:03 得分 0

mark   搂主品格,高风亮节Top

7 楼lazyfish(呆呆虫)回复于 2006-06-03 12:00:28 得分 15

楼主不错。Top

8 楼chinawn(动性忍心)回复于 2006-06-03 12:19:33 得分 0

mark   搂主品格,高风亮节Top

相关问题

关键词

得分解答快速导航

  • 帖主:netzb
  • iceblue2005gather
  • lazyfish

相关链接

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

广告也精彩

反馈

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