类 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的运行速度要稍慢
从以下版本开始:
2012-10-21
作者:
Ready
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    static String
    bytes2Hex(byte[] bytes)
    将指定字节数组转为十六进制形式的字符串
    数组不能为null,否则引发空指针异常
    static String
    bytes2Hex(byte[] bytes, int start, int end)
    将指定字节数组转为十六进制形式的字符串
    数组不能为null,否则引发空指针异常
    static byte[]
    desDecode(String key, byte[] dest)
    使用DES可逆算法以指定的密钥字符串对指定字节数组进行解密,并返回解密后的字节数组
    注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES
    static String
    desDecode(String key, String dest)
    使用DES可逆算法以指定的密钥字符串对指定字符串进行解密,并返回解密后的字符串
    注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES
    static byte[]
    desEncode(String key, byte[] input)
    使用DES可逆算法以指定的密钥字符串对指定字节数组进行加密,并返回加密后的字节数组
    注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES
    static String
    desEncode(String key, String input)
    使用DES可逆算法以指定的密钥字符串对指定字符串进行加密,并返回加密后的字符串
    注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES
    static byte[]
    encode(byte[] buf, String algorithm)
    以指定的算法对指定的字节数组进行加密运算,并返回加密后的字节数组
    注意:算法名称必须是MessageDigest对象支持的算法,否则可能引发异常
    static String
    encode(String input, String algorithm)
    以指定的算法对指定的字符串进行加密运算,并返回加密后的十六进制的字符串值
    注意:算法名称必须是MessageDigest对象支持的算法,否则可能引发异常
    获取对应的摘要算法
    static byte[]
    md5(byte[] buf)
    将指定的字节数组通过MD5加密算法进行加密,并返回加密后的32位MD5值
    如果数组为null,则引发空指针异常
    static String
    md5(String input)
    将指定的字符串通过MD5加密算法进行加密,并返回加密后32位的MD5值
    如果字符串为null,将引发空指针异常
    static String
    将指定的字符串通过MD5加密算法进行加密,并返回加密后16位的MD5值
    为了保持一致,内部统一使用UTF-8编码获取字符串的字节数组
    如果字符串为null,将引发空指针异常
    static byte[]
    sha1(byte[] buf)
    将指定的字节数组通过SHA-1加密算法进行加密,并返回加密后的字节数组
    如果数组为null,则引发空指针异常
    static String
    sha1(String input)
    将指定的字符串通过SHA-1加密算法进行加密,并返回加密后的40位SHA-1值
    为了保持一致,内部统一使用UTF-8编码获取字符串的字节数组
    如果字符串为null,将引发空指针异常

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • Encrypter

      public Encrypter()
  • 方法详细资料

    • getMessageDigest

      public static MessageDigest getMessageDigest(String algorithm)
      获取对应的摘要算法
    • md5

      public static String md5(String input)
      将指定的字符串通过MD5加密算法进行加密,并返回加密后32位的MD5值
      如果字符串为null,将引发空指针异常
    • 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 - 结束转换的索引