Java 加密/安全通信Android应用程序<-&燃气轮机;RESTWebService
我想用Tapestry5和这个插件为我的android应用程序创建一个后端。 该应用程序将通过调用REST方法与服务器进行通信,这既适用于注册用户(我想这很容易保护),也适用于未注册用户。 当然,我不希望人们仅仅从浏览器中调用Web服务Java 加密/安全通信Android应用程序<-&燃气轮机;RESTWebService,java,android,rest,encryption,Java,Android,Rest,Encryption,我想用Tapestry5和这个插件为我的android应用程序创建一个后端。 该应用程序将通过调用REST方法与服务器进行通信,这既适用于注册用户(我想这很容易保护),也适用于未注册用户。 当然,我不希望人们仅仅从浏览器中调用Web服务 我如何确保只有我的应用程序才能调用此后端?检查用户UA可以帮助…我可以想出两种方法: 使用SSL保护连接。SSL可以执行握手检查凭据。 要对用户进行身份验证,可以使用证书或PSK 或者,您可以简单地创建数据的散列(SHA或MD5)并包含一个密钥。这被称为hmac
我如何确保只有我的应用程序才能调用此后端?检查用户UA可以帮助…我可以想出两种方法: 使用SSL保护连接。SSL可以执行握手检查凭据。 要对用户进行身份验证,可以使用证书或PSK
或者,您可以简单地创建数据的散列(SHA或MD5)并包含一个密钥。这被称为hmac。逆向工程师可能会得到关键,因为您必须在代码中硬编码。这不是很容易欺骗吗?谢谢您的想法!使用这两种方法,人们将无法从浏览器或自己的android代码中重新创建对Web服务的调用,因为他们不知道我从应用程序发送的(加密)密钥?确切地说。但由于它是硬编码的,所以可以通过逆向工程进行检索。密钥永远不会发送,因为它只用于创建哈希