求DELPHI加密JAVA解密的算法 ( 积分: 100 )

  • 主题发起人 主题发起人 richa_xwd
  • 开始时间 开始时间
R

richa_xwd

Unregistered / Unconfirmed
GUEST, unregistred user!
希望在DELPHI中有一个加密算法对字符串进行加密,加密后的密文传给JAVA,然后JAVA有一个算法可以把密文翻译成明文,其中字符串中包含中文!
越简单越好
 
希望在DELPHI中有一个加密算法对字符串进行加密,加密后的密文传给JAVA,然后JAVA有一个算法可以把密文翻译成明文,其中字符串中包含中文!
越简单越好
 
这个主要是delphi和java的接口问题,可以用一个文本文件作为接口实现。
算法什么都可以
 
楼上的老大,你知道JAVA和DELPHI针对中文的编码格式不一样这件事情吗?
如果采用移位或者别的方法,我当然可以实现对英文和数字的加密和解密,但是中文就是处理不了,请大家继续关注
 
1.我想这个问题其实也不在加密解密这里。
如果你能够直接把字符串从Delphi->JAVA,那么这个问题其实已经解决了。要知道,其实最简单的加密就是不加密。
2.我想在这样的时候,采用UNICODE(WideString)传递应该是比较合适的。
请理解我在第一点的意思。只要你能够把字符串不加密正确传递进取,那么不再有问题
 
我确实已经通过POST参数的方法已经把参数(中文)传递到JAVA的服务器端了,并且Servlet也可以正确的进行接收!但是如果采用密文传递过去以后,我改写的JAVA的解密方法只能对英文和数字进行解密,而处理不了中文,该解密方法是这样的:
public String enerty(String mm){
for (int i=0;i<Length(mm);i++){
if i == 0 {
s = String.valueof((char)((int)'t'^(int)mm.chartAt(i)));
}else
{
s = s +String.valueof((char)((int)'t'^(int)mm.chartAt(i)));
}
}
}
 
上述就是一个针对其ascii码的异或!
Delphi中的加密方法和其是一样的。!!
 
我没有办法尝试,不过我觉得应该是对于字符串这个概念的问题。
Delphi的字符串比较特殊,他之间没有任何特殊字符,包括 /0都可以放进去。而C/C++显然不行。至于JAVA,他的VM使用C/C++,因此我猜想JAVA对于字符串也有特殊字符的限制的。
你可以考虑将中文编码之后再加密。比如BASE64,并且BASE64的Delphi/JAVA算法都很容易找到。
 
问题还没有解决,不过BASE64的解码倒是学了点东西!谢谢zjan521,送你100分
 
后退
顶部