java常用工具类 Random随机数、MD5加密工具类
程序员文章站
2024-02-22 11:00: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")); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 在线ASC码查询