博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
base64编码-----------》struts2(token)利用BigInteger产生随机数
阅读量:4465 次
发布时间:2019-06-08

本文共 756 字,大约阅读时间需要 2 分钟。

//struts2 源码public static final Random RANDOM= new Random();public static String generateGUID(){  return new BigInteger(165,RANDOM).toString(36).toUpperCase();}

另(其他):设计成单例模式,降低随机数出现的重复的概率

public String generateToken(){    String token = System.curentTimeMills()+new     Random().nextInt()+"";    MessageDigest md = MessageDigest.getInstance("md5");    byte[] md5 = md.digest(token.getBytes());    //不用 return new String(md5);的原因 ,new 一个String对象需要查码表,不写代表默认机器的码表,会产生乱码,java提供了一种解决方案base64编码    //base64有自己的码表(都是明文,键盘上能看见的字符)   base64: 将3个字节的数据放入4个字节中,3*8=24,24/4=6,高位补两个0,这样编码之后所表示的数据范围是0~63(最小值00000000,最大值00111111)   //base64编码
BASE64Encoder encoder = new BASE64Encoder();    rerurn encoder.encode(md5);}

转载于:https://www.cnblogs.com/sallet/p/3961804.html

你可能感兴趣的文章
lua连续随机数
查看>>
checkstyle使用介绍
查看>>
会了这十种Python优雅的写法,让你工作效率翻十倍,一人顶十人用!
查看>>
二维码图片生成
查看>>
在做操作系统实验的一些疑问
查看>>
Log4J日志配置详解
查看>>
NameNode 与 SecondaryNameNode 的工作机制
查看>>
Code obfuscation
查看>>
大厂资深面试官 带你破解Android高级面试
查看>>
node.js系列(实例):原生node.js实现接收前台post请求提交数据
查看>>
SignalR主动通知订阅者示例
查看>>
golang的表格驱动测试
查看>>
用python实现矩阵转置
查看>>
linux 小技巧(磁盘空间搜索)
查看>>
iOS开发——捕获崩溃信息
查看>>
(for 循环)编程找出四位整数 abcd 中满足 (ab+cd)(ab+cd)=abcd 的数
查看>>
tomcat使用spring-loaded实现应用热部署
查看>>
boost1.53中的lock-free
查看>>
链表_leetcode203
查看>>
基于ajax 的 几个例子 session ,ajax 实现登录,验证码 ,实现ajax表单展示
查看>>