admin管理员组

文章数量:1130349

最近做一个移动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.apachemons.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.apachemons.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)

最近做一个移动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.apachemons.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.apachemons.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)

本文标签: 登入服务器端身份用户手机