java 手机令牌_手机令牌机制java程序的实现
在手机客户端登录时,常用到令牌机制,以确保用户在登录时信息不被抓取,在java程序中,主要根据时间情况,进行MD5加密即可
package com.kevin.authtoken;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class TokenProcessor {
private static TokenProcessor instance = new TokenProcessor();
private long previous;
public TokenProcessor() {
}
public static TokenProcessor getInstance(){
return instance;
}
public synchronized String generateToken(String msg,boolean timeChange){
try{
long current = System.currentTimeMillis();
if(current == previous){
current++;
}
previous = current;
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(msg.getBytes());
if(timeChange){
byte now[] = (new Long(current)).toString().getBytes();
md.update(now);
}
return toHex(md.digest());
}
catch(NoSuchAlgorithmException e){
return null;
}
}
private String toHex(byte buffer[]){
StringBuffer sb = new StringBuffer(buffer.length * 2);
for(int i = 0; i < buffer.length;i++){
sb.append(Character.forDigit((buffer[i] & 240) >> 4, 16));
sb.append(Character.forDigit(buffer[i] & 15, 16));
}
return sb.toString();
}
//进行测试
public static void main(String args[]){
String token = new TokenProcessor().generateToken("vokey", false);
System.out.println(token);
}
}这样即可
java 手机令牌_手机令牌机制java程序的实现相关推荐
- java铲车_深入研究Java类装载机制
目录 1.为什么要研究java类装在机制? 2.了解类装载机制,对于我们在项目开发中有什么作用? 3.装载实现细节. 4.总结 一.为什么药研究Java类装载机制 java类加载机制,便于我们使用自定 ...
- java兵临城下_再谈java事件监听机制
java中的事件机制的参与者有3种角色: 1.event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在于listerner的 ...
- opencv java 摄像头_使用OpenCV Java创建Windows摄像头扫码程序
OpenCV提供了一些基本的Webcam控制接口.用OpenCV C/C++或者Python,可以在任意平台快速创建一个摄像头预览应用.然而使用Java,情况就复杂的多,因为OpenCV Java并没 ...
- JAVA拳皇_拳皇(Java简单的小程序)代码实例|chu
刚开始学习Java,看完老九君的视频根据他的内容敲的代码,感觉还挺有成就感的,毕竟刚学习Java. package helloasd;import java.util.*; public class ...
- 小学数学闯关游戏 java代码_简单的java程序 小学数学闯关游戏 多谢高分
展开全部 有4个类 MainFrame,Question,QuestionPanel,ResultPanel import java.awt.BorderLayout; import java.awt ...
- groovy 使用java类_深入学习java中的Groovy 和 Scala 类
前言 Java 传承的是平台,而不是语言.有超过 200 种语言可以在 JVM 上运行,它们之中不可避免地会有一种语言最终将取代 Java 语言,成为编写 JVM 程序的最佳方式.本系列将探讨三种下一 ...
- java学习_都说Java难学,不知道具体的学习内容?全套Java学习路线送上
首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习java以后肯定是往java ee方向发展的,学习完前端,在学习后端很多东西比计较容易理解! 其中J2SE是关 ...
- java 虚拟机_浅谈Java虚拟机内存区
1. Java 虚拟机内存区概述 我们在编写程序时,经常会遇到OOM(out of Memory)以及内存泄漏等问题.为了避免出现这些问题,我们首先必须对JVM的内存划分有个具体的认识.JVM将内存主 ...
- java classpath import package 机制 @Java的ClassPath, Package和Jar
java classpath import package 机制 從一個簡單的例子談談package與import機制 基本原則:為什麼需要將Java文件和類文件切實安置到其所歸屬之Package所對 ...
- java序列化_技术干货 | JAVA反序列化漏洞
目录 反序列化漏洞 序列化和反序列化 JAVA WEB中的序列化和反序列化 对象序列化和反序列范例 JAVA中执行系统命令 重写readObject()方法 Apache Commons Collec ...
最新文章
- 红帽计划收购API管理领导者3scale
- .NET多线程编程入门
- oracle 唯一递增列,在oracle中创建unique唯一约束(单列和多列)
- GSLX680触摸屏驱动移植
- 从蛋白质结构到功能的生物信息学研究 From Protein Structure to Function with Bioinformatics PDF
- pymc3 贝叶斯线性回归_使用PyMC3估计的贝叶斯推理能力
- ABP入门系列(13)——Redis缓存用起来
- 【代码笔记】iOS-判断中英文混合的字符长度的两种方法
- 关于新手使用CPC客户端的操作指南
- 张鑫旭的《CSS世界》读后笔记
- 图解项目绩效考核指标及实例模板
- am335xSD卡启动--文件系统制作
- java redis锁_Java中Redis锁的实现
- 推荐|微信朋友圈营销的新尝试
- java 有c基础的自学教程(全站最详细 没有之一)
- 【ZBH选讲·树变环】
- 计算机专业研究生面试英语翻译,20考研复试英语面试最强攻略,都是干货!
- IT运维面试问题总结-LVS、Keepalived、HAProxy、Kubernetes、OpenShift
- RS485自行收发的实现方法
- 为什么敬业签绑定了微信提醒不了?