小谈移动端加密

加密方式大致分为以下几种:

--哈希(散列函数)

--MD5

--SHA1

--SHA256(512)

--对称加密算法

--DES

--3DES

--AES(高级密码标准。美国国家安全局使用的加密算法)

--非对称加密算法  RSA

很多项目中都用到了MD5,它是一种不可逆算法。相同的数据加密,得到的结果是一样的,对不同的数据加密,得到的结果是定长的(32字符),很多人以为这样就很安全了。但其实不然,不信?那把你项目中的md5之后的字符放在这里,然后点击查询,会有意想不到的收获。

然后,后来有人想到了一个方法:加盐;

所谓加盐,就是在密码后面拼接一串超级复杂的字符串,有多乱写多乱。你再去哪里查询,结果是查询不到的。但是,这也能算相对安全,为什么不安全?因为这串字符串我们这些coder是知道的,假如一些特定的情况,这个盐被泄露了,那么就跟没有加盐一样。而且盐不可以修改,修改之后,所有用户的密码前功尽弃,因为以前的加密密码是根据以前的盐生成的,盐改变了,加密之后的密码随之改变。

目前用的比较流行的是HMAC加密(基于哈希)

流程:移动端发起请求,服务端生成key,传给移动端,移动端保存然后根据key和内容进行加密,然后发送给服务器。

QQ里面的设备锁应该也是基于这种逻辑(但不一定是用的这中算法):新的一台手机登录的时候,判断有没有key,没有key就请求上一台设备的同意,同意了就将key发送给新设备。

更安全的做法是每次请求用:((密码+key).HMAC+时间戳).md5。这样服务端就能比对时间,在时间允许的范围之内允许请求权限,这样就比较安全了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值