md5Util
package com.rscode.credits.util; /**
* MD5加密类
* @author 12
*/
import java.security.MessageDigest; public class MD5 {
static char hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'A', 'B', 'C', 'D', 'E', 'F' };
static char hexChars2[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'a', 'b', 'c', 'd', 'e', 'f' };
/**
* 32位大写
* @param password
* @return encryptPassword
* @author
*/
public static String upperConvert32(String str) {
try {
byte[] bytes = str.getBytes();
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(bytes);
bytes = md.digest();
int j = bytes.length;
char[] chars = new char[j * 2];
int k = 0;
for (int i = 0; i < bytes.length; i++) {
byte b = bytes[i];
chars[k++] = hexChars[b >>> 4 & 0xf];
chars[k++] = hexChars[b & 0xf];
}
return new String(chars);
} catch (Exception e) {
return null;
}
}
/**
* 32位小写
* @param password
* @return encryptPassword
* @author
*/
public static String lowerConvert32(String str) {
try {
byte[] bytes = str.getBytes();
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(bytes);
bytes = md.digest();
int j = bytes.length;
char[] chars = new char[j * 2];
int k = 0;
for (int i = 0; i < bytes.length; i++) {
byte b = bytes[i];
chars[k++] = hexChars2[b >>> 4 & 0xf];
chars[k++] = hexChars2[b & 0xf];
}
return new String(chars);
} catch (Exception e) {
return null;
}
} /**
* 16位大写
* @param s
* @return
*/
public String upperConvert16(String s) {
String ns = upperConvert32(s).substring(8, 24);
return ns;
}
/**
* 16位小写
* @param s
* @return
*/
public String lowerConvert16(String s) {
String ns = lowerConvert32(s).substring(8, 24);
return ns;
}
// public static void main(String[] args) {
// System.out.println(MD5.convert32("12345"));
// }
}
md5Util的更多相关文章
- Java MD5Util
package util; import java.security.MessageDigest; public class MD5Util { public static String strin ...
- 【加密】Md5Util
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Md5U ...
- 44.Android MD5Util
44.Android MD5Util public class MD5Util { public static String getMD5String(String key) { char hexDi ...
- MD5工具类--可以直接拿来用不抛异常的MD5Util
public class MD5Util { private static String byteArrayToHexString(byte b[]) { StringBuffer resultSb ...
- 支付签名 MD5Util 排序工具类
package com.skynet.wechat.wxPay.common; import java.security.MessageDigest; import java.util.Iterato ...
- MD5 加密工具类MD5Util
我们在使用MD5 在线加密的时候,会发现下面情况,大小写的区别就不说啦,那么16位和32位有啥区别呢,其实16 位实际上是从 32 位字符串中,取中间的第 9 位到第 24 位的部分,就是str.su ...
- MD5用户密码加密工具类 MD5Util
一般记录用户密码,我们都是通过MD5加密配置的形式.这里记录一下,MD5加密的工具类. package com.mms.utils; import java.security.MessageDiges ...
- Socket聊天程序——服务端
写在前面: 昨天在博客记录自己抽空写的一个Socket聊天程序的初始设计,那是这个程序的整体设计,为了完整性,今天把服务端的设计细化记录一下,首页贴出Socket聊天程序的服务端大体设计图,如下图: ...
- MD5验证
commons-codec包可以从apache下载:http://commons.apache.org/codec/download_codec.cgi MD5现在是用来作为一种数字签名算法,即A向B ...
随机推荐
- os.path官方文档(附翻译)
This module implements some useful functions on pathnames. To read or write files see open(), and fo ...
- Win10系列:C#应用控件进阶8
LineGeometry LineGeometry控件通过指定直线的起点和终点来定义线.LineGeometry对象无法进行自我绘制,因此同样需要使用 Path元素来辅助呈现.LineGeometry ...
- mysql存储过程和执行计划案例
开启event_scheduler指令: SET GLOBAL event_scheduler = ON;SET @@global.event_scheduler = ON;SET GLOBAL ev ...
- JavaScript中的classList的使用
动态控制元素的样式 style[样式名] = 值 增删改class的方式 classList下的方法 增加 class — node.classList.add() 删除 class — node.c ...
- 给django视图类添加装饰器
要将login_required装饰到view class的dispatch方法上, 因为dispatch方法为类方法,不是单个的函数,所以需要将装饰函数的装饰器 login_required转化为装 ...
- 较为复杂的实现Parcelable的子类--推荐Android中使用
2017-08-14 21:23:34 一个较为复杂的Parcelable实现类 public class CommentShareBean implements Parcelable { /** * ...
- AStar算法()
把网上的AStar算法的论述自己实现了一遍,一开始只是最基础的实现.当然,现在AStar算法已经演变出了各种优化的版本,这篇也会基于各种优化不断的更新. 如果对算法不熟悉可以看下Stanford的这篇 ...
- fastreport窗口重置(适用于属性、数据等窗口显示不出来)
找到如下路径: C:/Users/账户名/AppData/Local/FastReport/FastReport.config 删除即可. 记得先退出使用FastReport的程序,再删除
- 使用EXE4J和Inno Setup 编译器将java程序打包成windows桌面应用安装程序
java项目结构如下: Demo是模仿程序快照,主要设计两个按钮:保存快照和恢复快照: 保存快照将对象(窗口)序列化保存下来,后面无论做了什么操作,只要点击恢复快照, 就会读取之前保存的序列化的对象. ...
- 在servlet中跳转问题
跳转有重定向和转发 1重定向 2转发