类 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 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 MessageDigest getMessageDigest​(String algorithm)
      获取对应的摘要算法
      static byte[] md5​(byte[] buf)
      将指定的字节数组通过MD5加密算法进行加密,并返回加密后的32位MD5值
      如果数组为null,则引发空指针异常
      static String md5​(String input)
      将指定的字符串通过MD5加密算法进行加密,并返回加密后32位的MD5值
      如果字符串为null,将引发空指针异常
      static String md5For16​(String input)
      将指定的字符串通过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,将引发空指针异常
    • 构造器详细资料

      • 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 - 结束转换的索引