本文实例为大家分享了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加密工具类相关推荐

  1. java大写md5_java 字符按字母排序-拼接-md5加密-大写

    package yixin; import java.security.MessageDigest; import java.util.Arrays; public class data_change ...

  2. Java 开发中常用的 4 种加密方法。MD5加密工具类测试 base64加密工具类测试 SHA加密工具类测试 BCrypt加密工具类测试

    一.工具类 1, md5加密工具类 2, base64加密工具类 3, Bcrypt工具类 二.加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 一.工具类 1, ...

  3. JDOM是JAVA中最常用的一种解析XML的工具

    JDOM是JAVA中最常用的一种解析XML的工具,我们可以从JDOM的官方网站www.jdom.org 下载JDOM1.0.ZIP压缩包,将其解压,将JDOM.JAR文件配置到classpath当中去 ...

  4. Java实现MD5加密解密类

    Java实现MD5加密以及解密类,附带测试类,具体见代码. MD5加密解密类--MyMD5Util,代码如下: [java] view plaincopy package com.zyg.securi ...

  5. Java工具集-MD5加密工具

    简单工具类 写作初衷:由于日常开发经常需要用到很多工具类,经常根据需求自己写也比较麻烦 网上好了一些工具类例如commom.lang3或者hutool或者Jodd这样的开源工具,但是 发现他们之中虽然 ...

  6. Java MD5加密工具

    1.基本原理 MD5加密算法,其全称是Message-Digest Algorithm 5,通常被称为信息摘要算法,所谓的信息摘要就是把明文内容按一定规则生成一段哈希(hash)值,即得到这段明文内容 ...

  7. MD5加密工具类(实战版)

    MD5加密工具类(实战版) 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成 ...

  8. C# MD5加密工具类

    方式一:(与其他MD5算法在加密某些数据时结果不同,但只有该方法适用于百度云推送的MD5加密) /// <summary>/// MD5加密/// </summary>/// ...

  9. Java 常用类库 之 Random 随机数类实例

    http://www.verejava.com/?id=169931132381103 /**知识点:Random 随机数类洗牌 */ import java.util.*;public class ...

最新文章

  1. java55矩阵output_leetcode 59 螺旋矩阵2 Java 用时较短-Go语言中文社区
  2. hdu4416 Good Article Good sentence (后缀数组)
  3. 短信接口在本地调试正常_Pivotal实践:腾讯云短信小应用
  4. 腾讯AI Lab宣布将于9月底开源“Tencent ML-Images”项目
  5. mysql账号相关的操作和安全管理
  6. 评选 cms_十大评选和编辑精选:12月评论
  7. C++_类和对象_C++运算符重载_递增运算符重载_重载++运算符_前置++_后置++重载---C++语言工作笔记057
  8. 如何用python获得实时股票信息_【python】用命令行获取实时股票信息
  9. 【渝粤题库】陕西师范大学200021现代汉语 作业(高起本、高起专)
  10. 打造基于hadoop的网站日志分析系统(5)之spark在日志分析系统里的简单应用
  11. java+junit百科_JUnit介绍
  12. Y580已成功将bios升级至V8.01
  13. spring html导出excel文件,springboot2.1.8使用poi导出数据生成excel(.xlsx)文件
  14. http状态码401
  15. 服务器系统管理维护,服务器操作系统的管理维护
  16. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
  17. cscd期刊是c刊吗_核心期刊和C刊有什么区别
  18. OpenCV入门教程之开发环境搭建(Android、C/C++、Python)
  19. 解决Bean with name ‘XX‘ has been injected into other beans 问题
  20. python DataScience数据分析笔记day06

热门文章

  1. 基于浏览器的http普通请求与ajax请求
  2. ALK8266WIFI解决方案支持常见普通单片机实现WIFI高速传输和许多实用功能,实测速度超过M字节每秒
  3. 简单秒表计时器的制作
  4. 怎样利用开源软件赚钱?
  5. unity 双指触控(以及多指触摸的代码原理分析)
  6. Openstack安装与部署三:本地源配置
  7. 利用U盘里的GHOST文件恢复系统
  8. 开发微信小程序,就是这么简单!可自动生成微信小程序源代码,配套JS SDK、接口和后台
  9. JQuery自定义属性的设置和获取
  10. 2021-10-19 nlp_1 nltk的基本应用