以下普通java代码正在调用一些Web服务API:
String url = "https://my_web_service/some_function?password=my_password";
InputStream is = new URL(url).openStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String result = readAll(rd); //result is also sensitive data!
这是一种安全的传输方式吗?得到敏感数据?假设这样的论点不相关:
" SSL是安全的,但请记住,如果有足够的时间,任何加密都可能被破坏......"
谢谢,
答案 0 :(得分:2)
在使用现代密码时,您可以考虑使用SSL安全。 它仍然容易受到man-in-the-middle攻击 - certificate pinning和other practices旨在防止这些攻击。
您的另一个问题是您将密码作为查询参数传递 - 最好将其传递到请求正文中。否则,它将打印在服务器访问日志和客户端日志中(可能)。
如果是网页,而不是网络服务,它也会存储在浏览器历史记录,书签,e.t.c。