2015-12-10 35 views
1

字符串包含用户信息在的Java使用“AES”算法,并将它附加到URL加密文本中,(将被发送到客户可以访问应用程序。而我在检索从URL的加密文本在客户端(AngularJS)成功并通过休息通话发回给服务器端(JAVA)解密并检索相应的信息。包括连接运算符(+)在Java

但我面临的问题是,因为加密的文字包括“+”,Java正在把它当作连接运算符并与空间解密

之前改变原有的加密格式替换它

我试图encValue=encValue.replaceAll("\\+", "\\\\+")

ecryptedText(加密URL中angularJS参数提取并当同样被传递到Java)

a6fPPqUwnkobdB7D8B53en+FlNcEt+Ehd4Ze6srqM/Q=

Java中的结果(相同的加密值)

a6fPPqUwnkobdB7D8B53en\\ FlNcEt Ehd4Ze6srqM/Q=

我想加密的文本保留其原有的结构

谢谢

+0

顺便说一句,当你谈论“在Java客户端”我99%肯定你的意思是“在JavaScript客户端”。毕竟,“AngularJS”的“JS”是用于Javascript,而不是Java ... –

+0

这是完全正确的,但因为我发现了在java中的问题,(其余的调用后,传递url参数给java),我必须假设它是java我有问题 –

+0

即使问题出现在Java中(它不是),这并不意味着客户端在Java中。你的粗体文本“ecryptedText(客户端)在Java中”简直是不准确和令人困惑。 –

回答