总结java开发中知识点和问题点

基础:


常用加解密算法:

[md5]

import java.security.MessageDigest;
public static final String encodeMD5(String str) {
        final byte m = 15;
        char[] cArr = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        try {
            byte[] bytes = str.getBytes();
            MessageDigest instance = MessageDigest.getInstance("MD5");
            instance.update(bytes);
            byte[] digest = instance.digest();
            int length = digest.length;
            char[] cArr2 = new char[(length * 2)];
            int i = 0;
            for (byte b : digest) {
                int i2 = i + 1;
                cArr2[i] = cArr[(b >>> 4) & 15];
                i = i2 + 1;
                cArr2[i2] = cArr[b & m];
            }
            return new String(cArr2).toLowerCase();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

 

[base64]

import java.util.Base64;

public static void base64()
    {
        String name = "xing";
        Base64.Encoder encoder = Base64.getEncoder();
        String base64Str = encoder.encodeToString(name.getBytes());
        System.out.println("base64Str:"+base64Str);

        // 解码
        Base64.Decoder decoder = Base64.getDecoder();
        byte[] res = decoder.decode(base64Str);
        String srcStr = new String(res);
        System.out.println("res:"+srcStr);
    }

 

[encode/decode]