系统有两个子系统,一个是BS的,一个是delphi做的CS,中间的数据传输是通过XML进行传输的。在XML传输的功能实现后,要求对XML进行加密解密.加密解密算法是CS端用delphi写的,然后这边用JAVA写个同样的算法。现在碰到的一个问题是:
用该算法的时候,CS和BS各自都能够加解密,我这边的过程是这样的。我这边解密的过程是这样的,首先获取到CS那边的加密文件,然后通过
StringBuffer strbuf = new StringBuffer();
try {
FileInputStream in = new FileInputStream(file);
int size = 0;
byte [] buf = new byte[1024];
while ((size=in.read(buf)) != -1) {
strbuf.append(new String(buf,0,size));
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return strbuf;
在得到返回的StringBuffer的基础上,对StringBuffer进行解密操作。
StringBuffer xmlStr=new StringBuffer("");
xmlStr.append(encode.UnEncryptString(readBuf,key));
然后在得到解密后的字符串写入XML文件
有两种方式,一种是写入普通 ,另外一种是采用dom4j提供的字符串转XML的方式
Document doc = DocumentHelper.parseText(xmlStr.toString());
OutputFormat format = OutputFormat.createPrettyPrint();
FileOutputStream writefile=new FileOutputStream(importFile);//输出流,用来接受生成的xml表示的doc
format.setEncoding("UTF-8");
XMLWriter writer=new XMLWriter(writefile,format);
writer.write(doc);
最终不管我采用什么方式结论是中文始终是乱码。
我想问的问题是
1. 如果双方导入导出的都是标准的XML文件(UTF-8),在此基础上进行加密,
那么在以后读取与写入文件(无论是字节流还是字符流或其他的)过程中,是不是都不涉及到转碼的 问题。
2.在此过程中,正常的情况编码可能需要变化的是什么地方。
3.一个前提是算法没有问题,单独的不涉及文件存储,双方是可以互加解密。
分享到:
相关推荐
为了解决这个问题,首先需要改变开发环境中的编码设置。在Qt的开发环境中,可以通过工具->选项->文件编码来设置编译器的默认编码。对于Windows系统而言,将其编码设置为GBK或GB2312可以有效解决代码中的中文注释和...
SAS EG是一个图形用户界面的程序,它提供了数据管理、统计分析、报告创建等功能,但它在处理不同编码的文本文件时可能会遇到编码兼容性问题。 解决SAS EG导入UTF-8编码文本数据文件的乱码问题,通常需要在导入文件...
HDFS自身并不关心文件的编码,它只是作为一个字节流进行存储。如果在上传到HDFS的文件编码与Hadoop默认的UTF-8不符,下载时就会出现乱码。解决方式是确保在上传文件前将其转换为UTF-8编码。 3. **MapReduce处理...
在使用SQLite3数据库引擎与Delphi集成开发过程中,经常遇到的一个挑战是中文字符显示为乱码。"sqlite3 for delphi 解决中文乱码问题"这个主题,正是针对这一问题提供了解决方案。这里我们将详细探讨SQLite3在Delphi...
在使用MyEclipse这款强大的Java集成开发环境时,开发者可能会遇到一个常见的问题——乱码问题。这主要体现在代码编辑器中显示的源代码字符编码不正确,或者在编译、运行过程中输出的文本出现乱码。本文将深入探讨...
UnicodeEncoding类是C#语言中的一个类,用于指定编码方式。它可以将Unicode字符编码为特定的编码方式,如UTF-8、GB2312等。在读取txt文件时,使用UnicodeEncoding类可以正确地读取中文字符。 知识点3:GB2312编码 ...
在web开发过程中,乱码问题是一个常见的困扰,尤其是在处理文本数据时。乱码现象通常发生在字符编码不一致或处理不当的场景下。本篇将详细探讨这个问题,以及如何通过理解和运用正确的字符编码来解决它。 首先,...
在使用不同操作系统处理文件时,文件乱码是一个常见问题,尤其是当涉及到Windows和Ubuntu这两种系统时。Windows系统通常使用GBK编码来处理中文,而Ubuntu系统默认使用UTF-8编码,这导致了两者在处理中文文件时出现...
然而,在使用过程中可能会遇到字符编码的问题,特别是中文乱码的情况,这不仅会影响日志的可读性,还可能导致难以追踪的问题。本文将详细介绍如何通过修改`log4j.properties`配置文件来解决log4j中的乱码问题。 ###...
在Java编程中,乱码问题是一个常见的困扰,尤其是在处理字符编码时。以下是一些关键的知识点,可以帮助理解和解决Java中的乱码问题。 首先,我们需要理解字符编码的基本概念。字符编码是用来表示文本的一种方式,...
【编码详解:从汉字到乱码的解析】 编码是计算机处理文字和信息的关键技术,尤其在涉及多种语言和字符集的...在日常工作中,遇到乱码问题时,可以通过检查字符集设置、转换编码格式或使用兼容性更强的编码方式来解决。
JavaScript作为前端开发的核心技术之一,在处理字符编码方面同样会遇到各种各样的乱码问题。本文将详细介绍JavaScript中常见的乱码现象及其解决方案,帮助开发者更好地理解和解决这类问题。 #### 二、JS乱码问题...
乱码问题的根源之一是项目中的编码方式不统一。因此,在项目中统一使用一种编码方式是非常重要的。例如,在Eclipse中,可以右键点击项目,选择Properties,设置项目的文本文件编码方式为UTF-8。 2. 设置web.xml编码...
在实际开发过程中,编码问题主要出现在以下几个方面: 1. **源代码文件编码不一致**:开发环境中如果源代码文件的编码格式不一致(例如,有的文件使用UTF-8,有的文件使用GBK),很容易导致读取或解析时出现乱码。 ...
当你尝试在CMD中处理包含非ASCII字符(例如中文)的信息时,可能会遇到乱码问题。为了解决这个困扰,我们需要修改CMD的编码设置,使其能够正确地显示UTF-8编码的文本。 首先,我们需要理解CMD的编码配置是如何工作...
这个问题通常是由于数据编码不一致或者处理方式不当所引起的。在本文中,我们将深入探讨Netty中的进制转换和字符编码,并提供解决方案。 首先,我们要明白Netty作为一个高性能的网络应用框架,它本身并不直接处理...
在计算机领域,中文乱码是一个常见的问题,尤其对于初学者来说,可能会遇到各种与之相关的困扰。本专题将深入探讨中文乱码问题的成因、解决方案以及预防措施,旨在帮助初学者更好地理解和处理这类问题。 一、中文...
在IT领域,特别是Web开发中,Struts框架作为Java Web应用的一个重要组成部分,其在处理中文字符时常常遇到乱码问题。这个问题不仅影响了用户体验,也增加了开发者的调试难度。本文将深入探讨Struts框架中中文乱码的...
在IT行业中,编程时常会遇到编码问题,尤其是在处理不同平台、语言或库之间的数据交换时。"asp与.net通信编码乱码问题"是常见的技术挑战之一。这个问题主要出现在使用ASP(Active Server Pages)和.NET Framework...