import java.security.MessageDigest;
import java.util.Random;
import sun.misc.BASE64Encoder;
// 令牌产生器
public class TokenProccessor {
// 单例
private TokenProccessor(){}
private static TokenProccessor instance = new TokenProccessor();
public static TokenProccessor newInstance() {
return instance;
}
// 产生令牌
public String makeToken() {
try {
// 1. 产生一个随机数
String token = new Random().nextInt(19999999) + ""
+ System.currentTimeMillis();
// 2. 长度大小不一致
// 指纹算法 消息摘要 md5 MessageDigest
MessageDigest messageDigest = MessageDigest.getInstance("md5");
byte[] md5 = messageDigest.digest(token.getBytes());
// 将 任意的字节数组 转为可见的字符 转为明文
// base64 算法
BASE64Encoder encoder = new BASE64Encoder();
String result = encoder.encode(md5);
return result;
} catch (Exception e) {
throw new TokenException(e);
}
}
}
package cn.easyknow.elec.test;
import java.security.MessageDigest;
import java.util.Random;
import sun.misc.BASE64Encoder;
// 令牌产生器
public class md5Digest {
// 产生令牌
public static String makeToken(String password) {
try {
MessageDigest messageDigest = MessageDigest.getInstance("md5");
byte[] md5 = messageDigest.digest(password.getBytes());
// 将 任意的字节数组 转为可见的字符 转为明文
// base64 算法
BASE64Encoder encoder = new BASE64Encoder();
String result = encoder.encode(md5);
return result;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) {
String token = makeToken("123411111");
System.out.println(token);
}
}
分享到:
相关推荐
Delphi MD5+Base64加密 加密结果与JAVA .NET一样
主要介绍了Java 常用的 4 种加密方式(MD5+Base64+SHA+BCrypt),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
基于C语言实现json+base64+hmac sha1+md5, 与Crypto-JS库运行结果比对一致(这个很重要,很多运行结果是不一致的,测试网址http://tool.oschina.net/encrypt?type=2)。编译命令#gcc cjson/cJSON.c cjson/cJSON_...
资源名字:基于MD5+RSA的数字签名设计与实现(源码+文档)_RSA_数字签名.zip 资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 适合场景:相关项目设计 项目详细介绍可...
加密工具类 包含md5加密 base加密解密 md5加密 aes加密解密 urlencoude
包括了MD5 base64 crypt Sha1等。一些用法说明如下: var_dump(md5('zxcasd',$raw_output=true)); //raw_output为可选参数如果被设置为true那么MD5报文摘要将以16字节长度的原始二进制格式返回 echo crypt('...
其实也很简单,就是MD5+BASE64,要问16还是32的MD5,其实是32的,只不过加密后的32位长的字符串要把他看成另一个字符串的HEX,然后将那个字符串用BASE64编码下,关键是VB里那个字符串会显示为"???",就是乱码,请...
MD5+AES加密解密demo,将任意密钥转为16位长度MD5编码,再使用MD5编码进行AES加密
NULL 博文链接:https://gundumw100.iteye.com/blog/712173
RSA加密工具 利用RSA+MD5+salt 加密后 可以导出csv文件,加密的csv文件可以导入进行解密
基于openssl静态库的DES+base64+MD5的加解密C++Demo,其中DES采用ECB模式,pkcs5padding的填充方法;兼容JAVA,C#的DES,可应用于与网络服务器通信过程中的加解密,并且已经验证OK。 与C#/java互通的DES加密解密代码。
Base64+MD5 util
网络安全问题日益严峻的今天,原始密码和简单非可逆加密算法已经不足以提供安全的系统服务,所以加盐加密技术使用越来越普遍。 本文档系统的介绍了加盐加密的原理和实现方案。 由四哥许坤整理发布,...
获取文件md5和sha1摘要值的工具,通过cmd命令操作获取,可以用来校验文件是否发生改变。
Android AES、MD5、Base64、URLEncode加密 org.apache.commons.codec.binary.Base64; 代替sun.misc.BASE64Encoder sun.misc.BASE64Encoder
MD5C++源码,测试代码,说明了如何对象文件和字符串的区别MD5C++源码,测试代码,说明了如何对象文件和字符串的区别
MD5++可以快速、稳定地计算和比较文件的md5;功能强大而小巧,简单易用,大小仅55KB;采用独立线程计算md5,不卡界面,并且带进度条,可随时中断计算;完美支持超大文件;拖放操作,自动比较md5结果;附带生成随机...
5173 MD5+a
平时用的md5+sha1加密的js文件,用法: <script type="text/javascript" src="js/md5.js"> <script type="text/javascript" src="js/sha1.js"></script> var hash = hex_md5(name+" "+password); var date = new ...
[其他类别]MD5在线破解之查询工具(PHP)_md5+encryption+.zip