作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个项目,需要将 Android 应用程序连接到使用 WCF、IIS(Internet 信息服务)、Active Directory 和基于角色的安全性的 ERP。
因此,默认情况下已包含许多安全选项,例如 basicHttpBinding,它允许使用证书和 HTTPS 等。
我尚未决定的一件事是,当数据从应用传输到 ERP 时,我将使用什么数据加密来保护数据。我读到有一个可以使用的 Java AES 库,然后我又读到,如果有人拦截了这些包,他或她也可以解密这些包。
我想知道两件事:
移动应用程序上的数据加密是否有“最佳实践”,因为计算能力不如计算机强大,并且消息不能太重或太长而无法解密,因为这会减慢解密速度我们当然不想要这个应用程序。
我实际上正在考虑使用某种 PGP 公钥,其中公钥位于 Android 设备中,而私钥位于 ERP 中,但这也许不是一种明智的方法,甚至不是一种非常安全的方法是吗?
话又说回来......既然我将使用 TLS,也许我不需要加密我的数据并且它足够安全?
提前致谢!
最佳答案
Android 的安全协议(protocol)非常严格。
您可以使用此功能并找到您想要使用的协议(protocol):
Provider[] providers = Security.getProviders();
for (Provider provider : providers) {
for (Object entry : provider.keySet()) {
String name = String.valueOf(entry);
if (name.startsWith("Cipher")) {
Log.d("Cipher", "Supports: " + name.substring(7));
}
}
}
其中任何一个都是标准协议(protocol),可以在客户端和服务器端使用。
祝你好运。
关于java - 安卓 : What kind of encryption do I choose to send my data safely to an app using WCF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11329929/
我是一名优秀的程序员,十分优秀!