我的应用程序使用RSA加密数据,通过HTTP发送到远程服务器。当然数据是byte []形式。它可以安全地转换为字符串,url编码,并在URL的查询中发送?还是需要编码?
答案 0 :(得分:9)
是的,当然。这里没有RSA特定的东西;你只是上传二进制数据。
在GET查询字符串中发送:是的,您可以对其进行URL编码(或对其进行base64编码,然后对其进行URL编码),前提是它不会太长 - 某些客户端和服务器具有URL长度限制。
您可以发布任意长度的数据;你可以作为原始二进制文件POST,假设另一端可以处理它 - 即你可以绕过框架中试图将其解析为参数变量的部分 - 或者再次作为URL编码/ base-64编码的URL编码。 / p>
您可以将其包装为文件上传(multipart / form-data)和POST。同样任何长度的数据,这将只是base64编码所以可能会缩短一点。它也可以更容易集成到您的服务器应用程序框架中,因为它可能内置了文件上载支持。
答案 1 :(得分:2)
您应将其编码为Base64以确保安全。您可以使用Apache Commons Codec项目中的Base64类。
答案 2 :(得分:0)
在PHP中使用rawurlencode(),否则$ _GET数据将不会总是正确编码...有关rawurlencode()和urlencode()之间的区别,请参见手册。