移动应用后端开发经验4-通讯的安全性

在app的后台设计中,一个很重要的因素是考虑通讯的安全性。

因此,我们需要考虑的要点有:

1.在app和后台,都不能保存任何用户密码的明文

2.在app和后台通讯的过程中,怎么保证用户信息的安全性

在app中,根据安全考虑,用户的操作分为两类:

1.用户登录注册操作

2.用户的其他操作

在第一点,用户登录注册操作中,是会出现用户密码,所以在这个过程中,必须要使用https通讯,保证通讯的安全。

在第二点,用户的其他操作,怎么保证这部分通讯的安全呢?

在我的设计中,是采用了公钥加私钥保证安全。用户的id是公钥,通过一定的算法对用户的id进行加密得到一个加密字符串是私钥。当用户登录或注册后,通过https把公钥加私钥返回给app客户端。

这个过程如下:

Use the printf() function.

There is a literal backtick (`) here.

<p><code>

AT&T
1,"page"=>20,"count"=>1)

equivalent of &mdash;.

*


* app在传递给服务器的参数中,加上使用generateVerfyCode生成的VerfyCode,

* 所以发送给服务器的url应为

* http://www.test.com/api/home/feed/count/1/page/20/id/1/verifycode/95aa9066d5801815a57bbe537280406b5516cb2a

*

* 服务器根据这个url和参数用同样的算法生成VerfyCode,

* 对比app传过来的VerfyCode和服务器生成的VerfyCode,就知道url在传输的过程中是否有被改动

*

* @param $apiUrl api的url

* @param $param url中附带的参数

* @param $token 根据id获取的私钥

*/

function generateVerfyCode($apiUrl,$param,$token){

$params_data = "";

$params_data.=$apiUrl;

ksort($param);

foreach( $param as $key=>$value ){

$params_data=$params_data.$key.$value;

}

$params_data = $params_data.$token;

return sha1($params_data);

}

echo generateVerfyCode("http://www.test.com/api/home/feed/",array("id"=>1,"page"=>20,"count"=>1),"23423242342432");

//result 95aa9066d5801815a57bbe537280406b5516cb2a

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,597评论 25 709
  • 2018-Read-Record 记录我的2018学习历程 文中首先解释了加密解密的一些基础知识和概念,然后通过一...
    NinthDay阅读 11,365评论 8 105
  • 最近应用要用企业重签名,(好贵,有个企业证书真赚啊)用企业重签名后内购应该就失效了.(欢迎大神答疑) 发现一篇好文...
    超_iOS阅读 8,094评论 4 15
  • 地球转到另一面 太阳看不见的地方 人们点亮电灯 光晕驱走黑 总是孤独 总是自由 总是落寞 白瓦青灯 红砖绿墙 光怪...
    粽十三阅读 224评论 0 0
  • 十年生死两茫茫,不思量,自难忘。千里孤坟,无处话凄凉。纵使相逢应不识,尘满面,鬓如霜。 今天这篇文章可能会有些揪心...
    锦瑟陈书阅读 231评论 1 0