java 随机md5_java常用工具类 Random随机数、MD5加密工具类
本文实例为大家分享了java常用工具类的具体代码,供大家参考,具体内容如下
random随机数工具类
package com.jarvis.base.util;
import java.util.random;
/**
*
*
* @title: randomhelper.java
* @package com.jarvis.base.util
* @description: 随机数工具类
* @version v1.0
*/
public class randomhelper {
/**
* random 基数
*/
private final static int random_base = 10;
/**
* 产生指定长度的数字值随机数
*
* @param length
* 需要产生的长度
* @return
*/
public static string getrandomstr(int length) {
random random = new random();
string randstr = "";
for (int i = 0; i < length; i++) {
string randitem = string.valueof(random.nextint(random_base));
randstr += randitem;
}
return randstr;
}
/**
* 描述:手机验证码生成带字符,包含数字和字符 作者: 时间:oct 29, 2008 3:40:07 pm
*
* @param len
* 生成手机验证码长度
* @return
*/
public static string generatechatandnumberidentifycode(int len) {
char[] identifystr = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
// char[] identifystr={'0','1','2','3','4','5','6','7','8','9'};
// 生成随机类
// random random = new random();
int min = 0;
int maxnum = identifystr.length;
string codestr = "";
for (int i = 0; i < len; i++) {
int num = (int) ((maxnum - min) * math.random() + min);
codestr += identifystr[num];
}
return codestr;
}
/**
* 描述:手机验证码生成带字符不包含数字
*
* @param len
* 生成手机验证码长度
* @return
*/
public static string generateidentifycode(int len) {
char[] identifystr = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };
// char[] identifystr={'0','1','2','3','4','5','6','7','8','9'};
// 生成随机类
// random random = new random();
int min = 0;
int maxnum = identifystr.length;
string codestr = "";
for (int i = 0; i < len; i++) {
int num = (int) ((maxnum - min) * math.random() + min);
codestr += identifystr[num];
}
return codestr;
}
}
md5加密 生成32位md5码
package com.jarvis.base.util;
import java.security.messagedigest;
public class md5util {
/**
* title: md5加密 生成32位md5码
* description: testdemo
* @param instr
* @return 返回32位md5码
* @throws exception
*/
public static string md5encode(string instr) throws exception {
messagedigest md5 = null;
try {
md5 = messagedigest.getinstance("md5");
} catch (exception e) {
system.out.println(e.tostring());
e.printstacktrace();
return "";
}
byte[] bytearray = instr.getbytes("utf-8");
byte[] md5bytes = md5.digest(bytearray);
stringbuffer hexvalue = new stringbuffer();
for (int i = 0; i < md5bytes.length; i++) {
int val = ((int) md5bytes[i]) & 0xff;
if (val < 16) {
hexvalue.append("0");
}
hexvalue.append(integer.tohexstring(val));
}
return hexvalue.tostring();
}
/**
* title: md5加密
* description: testdemo
* @author lu
* @date 2016年6月23日 下午2:43:31
* @param instr
* @return
*/
public static string md5(string instr) {
messagedigest md5 = null;
try {
md5 = messagedigest.getinstance("md5");
} catch (exception e) {
system.out.println(e.tostring());
e.printstacktrace();
return "";
}
char[] chararray = instr.tochararray();
byte[] bytearray = new byte[chararray.length];
for (int i = 0; i < chararray.length; i++)
bytearray[i] = (byte) chararray[i];
byte[] md5bytes = md5.digest(bytearray);
stringbuffer hexvalue = new stringbuffer();
for (int i = 0; i < md5bytes.length; i++) {
int val = ((int) md5bytes[i]) & 0xff;
if (val < 16)
hexvalue.append("0");
hexvalue.append(integer.tohexstring(val));
}
return hexvalue.tostring();
}
/**
* title: 加密解密算法 执行一次加密,两次解密
* description: testdemo
* @author lu
* @date 2016年6月23日 下午2:37:29
* @param instr
* @return
*/
public static string convertmd5(string instr) {
char[] a = instr.tochararray();
for (int i = 0; i < a.length; i++) {
a[i] = (char) (a[i] ^ 't');
}
string s = new string(a);
return s;
}
public static string md5decode(string str) {
return convertmd5(convertmd5(str));
}
public static void main(string[] args) {
string s = new string("13917114404");
system.out.println(md5decode("a6aeb3ffa55fc7d664406af9c3bd0f1b"));
system.out.println("原始:" + s);
system.out.println("md5后:" + md5(s));
system.out.println("加密的:" + convertmd5(s));
system.out.println("解密的:" + convertmd5(convertmd5(s)));
system.out.println(md5("13917114404"));
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
希望与广大网友互动??
点此进行留言吧!
java 随机md5_java常用工具类 Random随机数、MD5加密工具类相关推荐
- java大写md5_java 字符按字母排序-拼接-md5加密-大写
package yixin; import java.security.MessageDigest; import java.util.Arrays; public class data_change ...
- Java 开发中常用的 4 种加密方法。MD5加密工具类测试 base64加密工具类测试 SHA加密工具类测试 BCrypt加密工具类测试
一.工具类 1, md5加密工具类 2, base64加密工具类 3, Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1, ...
- JDOM是JAVA中最常用的一种解析XML的工具
JDOM是JAVA中最常用的一种解析XML的工具,我们可以从JDOM的官方网站www.jdom.org 下载JDOM1.0.ZIP压缩包,将其解压,将JDOM.JAR文件配置到classpath当中去 ...
- Java实现MD5加密解密类
Java实现MD5加密以及解密类,附带测试类,具体见代码. MD5加密解密类--MyMD5Util,代码如下: [java] view plaincopy package com.zyg.securi ...
- Java工具集-MD5加密工具
简单工具类 写作初衷:由于日常开发经常需要用到很多工具类,经常根据需求自己写也比较麻烦 网上好了一些工具类例如commom.lang3或者hutool或者Jodd这样的开源工具,但是 发现他们之中虽然 ...
- Java MD5加密工具
1.基本原理 MD5加密算法,其全称是Message-Digest Algorithm 5,通常被称为信息摘要算法,所谓的信息摘要就是把明文内容按一定规则生成一段哈希(hash)值,即得到这段明文内容 ...
- MD5加密工具类(实战版)
MD5加密工具类(实战版) 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成 ...
- C# MD5加密工具类
方式一:(与其他MD5算法在加密某些数据时结果不同,但只有该方法适用于百度云推送的MD5加密) /// <summary>/// MD5加密/// </summary>/// ...
- Java 常用类库 之 Random 随机数类实例
http://www.verejava.com/?id=169931132381103 /**知识点:Random 随机数类洗牌 */ import java.util.*;public class ...
最新文章
- java55矩阵output_leetcode 59 螺旋矩阵2 Java 用时较短-Go语言中文社区
- hdu4416 Good Article Good sentence (后缀数组)
- 短信接口在本地调试正常_Pivotal实践:腾讯云短信小应用
- 腾讯AI Lab宣布将于9月底开源“Tencent ML-Images”项目
- mysql账号相关的操作和安全管理
- 评选 cms_十大评选和编辑精选:12月评论
- C++_类和对象_C++运算符重载_递增运算符重载_重载++运算符_前置++_后置++重载---C++语言工作笔记057
- 如何用python获得实时股票信息_【python】用命令行获取实时股票信息
- 【渝粤题库】陕西师范大学200021现代汉语 作业(高起本、高起专)
- 打造基于hadoop的网站日志分析系统(5)之spark在日志分析系统里的简单应用
- java+junit百科_JUnit介绍
- Y580已成功将bios升级至V8.01
- spring html导出excel文件,springboot2.1.8使用poi导出数据生成excel(.xlsx)文件
- http状态码401
- 服务器系统管理维护,服务器操作系统的管理维护
- 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
- cscd期刊是c刊吗_核心期刊和C刊有什么区别
- OpenCV入门教程之开发环境搭建(Android、C/C++、Python)
- 解决Bean with name ‘XX‘ has been injected into other beans 问题
- python DataScience数据分析笔记day06