同福

做个java框架(4)——MD5编码和Base64编码【20210102】

介绍

介绍

今天福哥要带着大家给TFSpring框架增加的功能模块是MD5编码和Base64编码,这两个编码函数在PHP语言里面就是三个函数,不过由于Java是强类型语言,又涉及到字符编码的问题,我们还是要好好的学习一番了。

MD5是一种不可逆的哈希算法,可以将任意输入数据经过抽样计算获得一个32位的固定长度字符串,在Java里面可以使用DigestUtils库来实现。

Base64是一种可逆的编码算法,可以将任意输入数据(包括二进制数据)通过编码函数进行无损编码得到一个token字符串,还可以通过解码函数解码得到原始数据。

TFMD5

路径

TFSpring.text.encoding.TFMD5

代码

encode

public static String encode(String org){

    return DigestUtils.md5DigestAsHex(org.getBytes());
}

TFBase64

路径

TFSpring.text.encoding.TFBase64

代码

setDefaultCharset

public void setDefaultCharset(Charset charset){
    defaultCharset = charset;
}

encode

public byte[] encode(byte[] org){

    return encoder.encode(org);
}

public byte[] encode(String org){

    return encoder.encode(org.getBytes());
}

encodeToString

public String encodeToString(byte[] org){
    try{
        return new String(encoder.encode(org), defaultCharset);
    }
    catch (Exception e){

    }

    return null;
}

public String encodeToString(String org){
    try {
        return encodeToString(org.getBytes(defaultCharset));
    }
    catch (Exception e){

    }

    return null;
}

decode

public byte[] decode(byte[] org){

    return decoder.decode(org);
}

public byte[] decode(String org){

    return decoder.decode(org);
}

decodeToString

public String decodeToString(byte[] org){
    try {
        return new String(decode(org), defaultCharset);
    }
    catch (Exception e){

    }

    return null;
}

public String decodeToString(String org){
    try {
        return new String(decode(org), defaultCharset);
    }
    catch (Exception e){

    }

    return null;
}

讲解

TFMD5

encode

通过输入字符串获取MD5哈希字符串

TFBase64

encode

将输入数据转成Base64编码数据

encodeToString

将输入数据转成Base64编码数据后,再根据默认字符编码转成字符串

decode

将输入Basee64编码解码成原始数据

decodeToString

将输入Basee64编码解码成原始数据,再根据默认字符编码转成字符串

使用

代码

6c15f00ccd249d8d.jpg

效果

ece54ce067610ad8.jpg

总结

今天福哥带着童鞋们给TFSpring框架添加了TFMD5对象和TFBase64对象,有了这两个对象就可以完成一些数据的加密处理功能了。

下一课,福哥将带着大家实现AES算法的加密和解密的功能,敬请期待~~