类 Encrypter


  • public abstract class Encrypter
    extends java.lang.Object
    封装常用数据加密算法的加密器
    内部主要包含MD5、SHA-1等不可逆算法以及DES可逆算法的常用处理方法
    备注:MD5加密强度是128bit,SHA-1的加密强度是160bit
    因此SHA-1比MD5的加密强度更高,并且更不易受密码分析的攻击
    相对的,在同样的硬件上,SHA-1比MD5的运行速度要稍慢
    作者:
    Ready
    • 构造器概要

      构造器 
      构造器 说明
      Encrypter()  
    • 方法概要

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

        public static java.lang.String md5​(java.lang.String input)
        将指定的字符串通过MD5加密算法进行加密,并返回加密后32位的MD5值
        如果字符串为null,将引发空指针异常
      • md5For16

        public static java.lang.String md5For16​(java.lang.String input)
        将指定的字符串通过MD5加密算法进行加密,并返回加密后16位的MD5值
        为了保持一致,内部统一使用UTF-8编码获取字符串的字节数组
        如果字符串为null,将引发空指针异常
      • md5

        public static byte[] md5​(byte[] buf)
        将指定的字节数组通过MD5加密算法进行加密,并返回加密后的32位MD5值
        如果数组为null,则引发空指针异常
      • sha1

        public static java.lang.String sha1​(java.lang.String input)
        将指定的字符串通过SHA-1加密算法进行加密,并返回加密后的40位SHA-1值
        为了保持一致,内部统一使用UTF-8编码获取字符串的字节数组
        如果字符串为null,将引发空指针异常
      • sha1

        public static byte[] sha1​(byte[] buf)
        将指定的字节数组通过SHA-1加密算法进行加密,并返回加密后的字节数组
        如果数组为null,则引发空指针异常
      • desEncode

        public static java.lang.String desEncode​(java.lang.String key,
                                                 java.lang.String input)
        使用DES可逆算法以指定的密钥字符串对指定字符串进行加密,并返回加密后的字符串
        注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES
        参数:
        key - 指定的密钥字符串
        input - 需要加密的字符串
      • desDecode

        public static java.lang.String desDecode​(java.lang.String key,
                                                 java.lang.String dest)
        使用DES可逆算法以指定的密钥字符串对指定字符串进行解密,并返回解密后的字符串
        注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES
        参数:
        key - 指定的密钥字符串
        dest - 需要加密的字符串
      • desEncode

        public static byte[] desEncode​(java.lang.String key,
                                       byte[] input)
        使用DES可逆算法以指定的密钥字符串对指定字节数组进行加密,并返回加密后的字节数组
        注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES
        参数:
        key - 指定的密钥字符串
        input - 需要加密的字节数组
      • desDecode

        public static byte[] desDecode​(java.lang.String key,
                                       byte[] dest)
        使用DES可逆算法以指定的密钥字符串对指定字节数组进行解密,并返回解密后的字节数组
        注意:本方法每次都产生一个新的DES实例,如果密钥是固定的或者加密、解密都是成对使用,建议直接使用easymapping.util.DES
        参数:
        key - 指定的密钥字符串
        dest - 需要解密的字节数组
      • encode

        public static byte[] encode​(byte[] buf,
                                    java.lang.String algorithm)
        以指定的算法对指定的字节数组进行加密运算,并返回加密后的字节数组
        注意:算法名称必须是MessageDigest对象支持的算法,否则可能引发异常
        参数:
        buf - 指定的字节数组
        algorithm - 算法名称
      • encode

        public static java.lang.String encode​(java.lang.String input,
                                              java.lang.String algorithm)
        以指定的算法对指定的字符串进行加密运算,并返回加密后的十六进制的字符串值
        注意:算法名称必须是MessageDigest对象支持的算法,否则可能引发异常
        参数:
        input - 指定的字符串
        algorithm - 算法名称,如“MD5”、“SHA”、“SHA-256”、“SHA-384”、“SHA-512”。
      • bytes2Hex

        public static java.lang.String bytes2Hex​(byte[] bytes)
        将指定字节数组转为十六进制形式的字符串
        数组不能为null,否则引发空指针异常
      • bytes2Hex

        public static java.lang.String bytes2Hex​(byte[] bytes,
                                                 int start,
                                                 int end)
        将指定字节数组转为十六进制形式的字符串
        数组不能为null,否则引发空指针异常
        参数:
        bytes - 指定的字节数组
        start - 开始转换的索引
        end - 结束转换的索引