手机token登入软件_移动端使用token向服务器端验证用户身份

最近做一个移动APP的项目,当用户登陆一段时间后从客户端请求服务器时需要验证用户身份,通常在web中的做法都是使用session或cooike来保持会话,但是放到手机端肯定是不合适的。我们使用qq或其他一些手机软件是都知道,登陆一次以后通常是不再需要再次登录的,这样如果使用session来实现也是可以的,但是如果把session的生命周期设为永久有效的话,对服务器端的资源消耗是非常大的。因此提出了使用token,首先说什么是token,翻译成中文就是“令牌”的意思。

在Javaweb中servlet、Struts、sping都有token机制(令牌验证机制),但是在web项目中token的作用是用来防止表单重复提交,一般不是用来验证身份,而且,在web中token的值在每次跟服务器交互后都会发生变化,也就是说每次服务器都会生成一个新的token发送给客户端(浏览器)。如果是用来让移动端验证身份是很难实现的,但是我们可以使用token验证的思想,让服务器端为每个用户生成一个特定的字符串作为他们的“令牌”,服务器将这个字符串保存下来,当用户登陆一段时间后需要向服务器请求数据时带上这个标示即可,不必每次都验证用户名密码。生成这个字符串我使用的是用户名+密码+用户登录时间使用MD5加密,下面贴上MD5加密代码。

用到的第三方包:commons-codec-1.8.jar

Java

import org.apache.commons.codec.digest.DigestUtils;

/**

* 创建日期:2015-1-5下午4:29:38

* 作者:admin

*TODO

**/

public class MD5_2 {

public static void main(String[] args) {

String str1 = DigestUtils.md5Hex("fghhfjgfhkghj");

System.out.println(str1);

System.out.println(str1.length());

 }

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

importorg.apache.commons.codec.digest.DigestUtils;

/**

* 创建日期:2015-1-5下午4:29:38

* 作者:admin

*TODO

**/

publicclassMD5_2{

publicstaticvoidmain(String[]args){

Stringstr1=DigestUtils.md5Hex("fghhfjgfhkghj");

System.out.println(str1);

System.out.println(str1.length());

 }

}

喜欢 (5)or分享 (0)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值