类 Encrypter
- java.lang.Object
-
- me.codeplayer.util.Encrypter
-
public abstract class Encrypter extends Object
封装常用数据加密算法的加密器
内部主要包含MD5、SHA-1等不可逆算法以及DES可逆算法的常用处理方法
备注:MD5加密强度是128bit,SHA-1的加密强度是160bit
因此SHA-1比MD5的加密强度更高,并且更不易受密码分析的攻击
相对的,在同样的硬件上,SHA-1比MD5的运行速度要稍慢- 作者:
- Ready
-
-
构造器概要
构造器 构造器 说明 Encrypter()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static Stringbytes2Hex(byte[] bytes)将指定字节数组转为十六进制形式的字符串
数组不能为null,否则引发空指针异常static Stringbytes2Hex(byte[] bytes, int start, int end)将指定字节数组转为十六进制形式的字符串
数组不能为null,否则引发空指针异常static byte[]desDecode(String key, byte[] dest)使用DES可逆算法以指定的密钥字符串对指定字节数组进行解密,并返回解密后的字节数组
注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DESstatic StringdesDecode(String key, String dest)使用DES可逆算法以指定的密钥字符串对指定字符串进行解密,并返回解密后的字符串
注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DESstatic byte[]desEncode(String key, byte[] input)使用DES可逆算法以指定的密钥字符串对指定字节数组进行加密,并返回加密后的字节数组
注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DESstatic StringdesEncode(String key, String input)使用DES可逆算法以指定的密钥字符串对指定字符串进行加密,并返回加密后的字符串
注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DESstatic byte[]encode(byte[] buf, String algorithm)以指定的算法对指定的字节数组进行加密运算,并返回加密后的字节数组
注意:算法名称必须是MessageDigest对象支持的算法,否则可能引发异常static Stringencode(String input, String algorithm)以指定的算法对指定的字符串进行加密运算,并返回加密后的十六进制的字符串值
注意:算法名称必须是MessageDigest对象支持的算法,否则可能引发异常static MessageDigestgetMessageDigest(String algorithm)获取对应的摘要算法static byte[]md5(byte[] buf)将指定的字节数组通过MD5加密算法进行加密,并返回加密后的32位MD5值
如果数组为null,则引发空指针异常static Stringmd5(String input)将指定的字符串通过MD5加密算法进行加密,并返回加密后32位的MD5值
如果字符串为null,将引发空指针异常static Stringmd5For16(String input)将指定的字符串通过MD5加密算法进行加密,并返回加密后16位的MD5值
为了保持一致,内部统一使用UTF-8编码获取字符串的字节数组
如果字符串为null,将引发空指针异常static byte[]sha1(byte[] buf)将指定的字节数组通过SHA-1加密算法进行加密,并返回加密后的字节数组
如果数组为null,则引发空指针异常static Stringsha1(String input)将指定的字符串通过SHA-1加密算法进行加密,并返回加密后的40位SHA-1值
为了保持一致,内部统一使用UTF-8编码获取字符串的字节数组
如果字符串为null,将引发空指针异常
-
-
-
方法详细资料
-
getMessageDigest
public static MessageDigest getMessageDigest(String algorithm)
获取对应的摘要算法
-
md5For16
public static String md5For16(String input)
将指定的字符串通过MD5加密算法进行加密,并返回加密后16位的MD5值
为了保持一致,内部统一使用UTF-8编码获取字符串的字节数组
如果字符串为null,将引发空指针异常
-
md5
public static byte[] md5(byte[] buf)
将指定的字节数组通过MD5加密算法进行加密,并返回加密后的32位MD5值
如果数组为null,则引发空指针异常
-
sha1
public static String sha1(String input)
将指定的字符串通过SHA-1加密算法进行加密,并返回加密后的40位SHA-1值
为了保持一致,内部统一使用UTF-8编码获取字符串的字节数组
如果字符串为null,将引发空指针异常
-
sha1
public static byte[] sha1(byte[] buf)
将指定的字节数组通过SHA-1加密算法进行加密,并返回加密后的字节数组
如果数组为null,则引发空指针异常
-
desEncode
public static String desEncode(String key, String input)
使用DES可逆算法以指定的密钥字符串对指定字符串进行加密,并返回加密后的字符串
注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES- 参数:
key- 指定的密钥字符串input- 需要加密的字符串
-
desDecode
public static String desDecode(String key, String dest)
使用DES可逆算法以指定的密钥字符串对指定字符串进行解密,并返回解密后的字符串
注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES- 参数:
key- 指定的密钥字符串dest- 需要加密的字符串
-
desEncode
public static byte[] desEncode(String key, byte[] input)
使用DES可逆算法以指定的密钥字符串对指定字节数组进行加密,并返回加密后的字节数组
注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES- 参数:
key- 指定的密钥字符串input- 需要加密的字节数组
-
desDecode
public static byte[] desDecode(String key, byte[] dest)
使用DES可逆算法以指定的密钥字符串对指定字节数组进行解密,并返回解密后的字节数组
注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES- 参数:
key- 指定的密钥字符串dest- 需要解密的字节数组
-
encode
public static byte[] encode(byte[] buf, String algorithm)以指定的算法对指定的字节数组进行加密运算,并返回加密后的字节数组
注意:算法名称必须是MessageDigest对象支持的算法,否则可能引发异常- 参数:
buf- 指定的字节数组algorithm- 算法名称
-
encode
public static String encode(String input, String algorithm)
以指定的算法对指定的字符串进行加密运算,并返回加密后的十六进制的字符串值
注意:算法名称必须是MessageDigest对象支持的算法,否则可能引发异常- 参数:
input- 指定的字符串algorithm- 算法名称,如“MD5”、“SHA”、“SHA-256”、“SHA-384”、“SHA-512”。
-
bytes2Hex
public static String bytes2Hex(byte[] bytes)
将指定字节数组转为十六进制形式的字符串
数组不能为null,否则引发空指针异常
-
bytes2Hex
public static String bytes2Hex(byte[] bytes, int start, int end)
将指定字节数组转为十六进制形式的字符串
数组不能为null,否则引发空指针异常- 参数:
bytes- 指定的字节数组start- 开始转换的索引end- 结束转换的索引
-
-