服务器上 convert.frombase64string(string xml) 有时会出问题

问题描述

这是个解密方法,全部代码如下:publicstaticstringDecryptUTF8Strings(stringstrText,stringkey){byte[]buffer=newMD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(key));TripleDESCryptoServiceProviderprovider=newTripleDESCryptoServiceProvider();provider.Key=buffer;provider.Mode=CipherMode.ECB;byte[]inputBuffer=Convert.FromBase64String(strText);returnEncoding.UTF8.GetString(provider.CreateDecryptor().TransformFinalBlock(inputBuffer,0,inputBuffer.Length));}也不报错,就是打不开网页了,我是在这一步前后加了日志才发现的,到这一步就没有下面的日志了。我在自己本地vs上从来没出过问题,在服务器上有时就会不行,过一段时间自己又好了。求解,分全押上了

解决方案

解决方案二:
不是所有的字符串都是合法的base64。比如:byte[]bs1=Convert.FromBase64String("MTox");//okbyte[]bs2=Convert.FromBase64String("MTo");//将抛出格式异常

这个属于‘输入’错误。你记录一下异常,然后把异常抛给调用方,或者告诉调用方strText有误就可以了。
解决方案三:
非合法的base64。你需要查找下strText从哪里来的,是否正常。
解决方案四:
我在自己本地vs上从来没出过问题,在服务器上有时就会不行,过一段时间自己又好了。这种“诡异”的问题,一般都是由于数据格式的错误造成的,所以你得加个try...catch,把strText内容和异常信息记录下来。
解决方案五:
细化你的日志,把strText的值加在日志中。
解决方案六:
上面几位说的把出错的那一行加进try..catch里是一个办法。排除是网络的问题,有可能是因为你的webservice里一直循环调用这个方法导致出现这种无法解释的“诡异”现象,也就能这么解释了。

时间: 2024-10-25 23:44:42

服务器上 convert.frombase64string(string xml) 有时会出问题的相关文章

很奇怪的问题,java程序在服务器上跑,string直接赋值乱码

问题描述 @RequestMapping(value="qunfajiekou")@ResponseBodypublicvoidqunfajiekou(Stringfromid,Integeroffset){Stringcontent="乱码啊";logger.info("luanma{}",content);} 这样一个简单的程序,本地是好的,但是上传到服务器上远程调试,content竟然是乱码,自然日志输出也就是乱码了?有人知道是什么问题吗,

在android上的XML文件,怎么样从远程服务器上获取

问题描述 在android上的XML文件,怎么样从远程服务器上获取 需要在远程服务器上读取XML文件,然后再修改本地android上的数据.我用XmlPullParser读取数据. XmlPullParser users; try { URL xmlUrl = new URL(""http://xx.xx.xx.xx/1.xml""); users = XmlPullParserFactory.newInstance().newPullParser(); users

XML入门教程:服务器上的XML

xml|服务器|教程|入门教程 XML可以在不安装任何XML控件的情况下在服务器端生成. 在服务器上存储XML XML文件可被存储在服务器上,和HTML文件的存储方式是完全相同的. 启动Windows记事本,并编写以下代码行: <?xml version="1.0" encoding="ISO-8859-1"?><note> <from>Jani</from> <to>Tove</to> <

task-使用spring自带的Task,放在服务器上启动时会报错

问题描述 使用spring自带的Task,放在服务器上启动时会报错 spring-mvc org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class Caused by: java.lang.TypeNotPresentException: Type java.lang.annotation.Repeatable not present at co

asp.net-visual studio更改服务器上XML文档

问题描述 visual studio更改服务器上XML文档 请教点问题,如何用VS操作修改服务器上的XML文件,我在服务器上添加了虚拟目录,直接访问的话,应该需要验证,有没有例子可以直接操作修改,或者如何添加验证操作的例子? 解决方案 CodeFluent Entities: How to add intellisense into Parts XML development in Visual Studio ?[SQL Server]visual studio开发时SQL Server 报表时

打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 &amp;lt;serviceDebug&amp;gt; 配置行为)以便将异常信息发送回

在调试wcf程序的时候,有时会遇到下面的错误: System.ServiceModel.FaultException: 由于内部错误,服务器无法处理该请求.有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或在打开每个 Microsoft .NET Framework 3.0 SDK 文档的跟踪的同时检查服务器跟踪

C# Encoding .UTF8 .GetBytes和Convert.FromBase64String区别

问题描述 C#Encoding.UTF8.GetBytes和Convert.FromBase64String区别是什么 解决方案 解决方案二: 解决方案三:Base64String和普通的String是不一样的不是所有的byte[]转成字符串后还能转回成byte[]但所有的byte[]可以转成base64字符串还能转回成byte[]通过webservice上传文件.其实就是传的byte[]数组,然后你看请求的报文其实就是传的base64字符串格式解决方案四:引用2楼jiezi316的回复: Ba

上传图片,如何请求转发到动态ip的服务器上

问题描述 上传图片,如何请求转发到动态ip的服务器上 我的需求是: 通过网页或者手机通过http post上传一个图片,后台servlet接收到该HttpServletRequest实例后,根据一个工具类算法获取到处理给请求的服务器ip,然后将这个http request发送给该ip的服务器. 然后由该ip的服务器获取到网页或者手机上传的图片,存储到该服务器的本地磁盘上. 请问该怎样实现请求的转发呢? 我曾经考虑过使用jsp的forward,但forward只能转发到当前的servlet容器,而

flex 超链接-在本地调试成功的超链接,放到服务器上不行

问题描述 在本地调试成功的超链接,放到服务器上不行 用myeclipse开发的地图应用,左侧有个信息列表. 加了超链接功能,在本地没有问题,部署到服务器上就根本没有超链接显示. 代码如下.我开始以为是超链接的链接问题,但是在别的电脑上试了,输入我的电脑的IP地址是能够访问的.但是服务器上就是不行.急急急. <?xml version="1.0" encoding="utf-8"?> xmlns:s="library://ns.adobe.com