欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java常用工具类 Random随机数、MD5加密工具类

程序员文章站 2023-11-05 17:18:16
本文实例为大家分享了java常用工具类的具体代码,供大家参考,具体内容如下 random随机数工具类 package com.jarvis.base.util;...

本文实例为大家分享了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"));
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。