All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.kedauis.util.MD5Helper Maven / Gradle / Ivy

The newest version!
package com.kedauis.util;

import java.net.MalformedURLException;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;

public class MD5Helper {
    private static MessageDigest messagedigest = null;

    static {
        try {
            messagedigest = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            System.err.println(MD5Helper.class.getName() + "MD5初始失败!");
            throw new RuntimeException(e);
        }
    }

    public static String getMD5String(String s) {
        return getMD5String(s.getBytes());
    }

    public static String getMD5String(byte[] bytes) {
        messagedigest.update(bytes);
        byte[] tmp = messagedigest.digest();
        StringBuilder sb = new StringBuilder();
        for (byte b : tmp) {
            sb.append(Integer.toHexString(b & 0xff));
        }
        return sb.toString();
    }


    public static void encryptXor(byte[] srcBuf, byte[] keyBuf) {
        int keyIndex = 0 ;
        for(int srcIndex = 0; srcIndex < srcBuf.length ; srcIndex++) {
            srcBuf[srcIndex] = (byte)(srcBuf[srcIndex] ^ keyBuf[keyIndex]);
            keyIndex++;
            if (keyIndex == keyBuf.length){
                keyIndex = 0;
            }
        }
    }

    public static void main(String[] args) throws NoSuchAlgorithmException, MalformedURLException {
        String md5 = MD5Helper.getMD5String("1111");
        System.out.println("pwd:1111  md5:" + md5);  //b59c67bf196a4758191e42f76670ceba
        md5 = MD5Helper.getMD5String("8888");
        System.out.println("pwd:8888  md5:" + md5);   //cf79ae6addba60ad018347359bd144d2
        md5 = MD5Helper.getMD5String("111111");
        System.out.println("pwd:111111  md5:" + md5);  //96e79218965eb72c92a549dd5a330112

        md5 = MD5Helper.getMD5String("9  1111999");  //dceb17e5e939471f33277dd0c4295bc3
        System.out.println("pwd:1111  md5:" + md5);


//        String key = "12111212121212生生世世1212";
        String key = "d但事实上事情我11212121212生生世世1212";
        String url = "9999=http://10.1.1.1/asdasdasd_1.asp?xxx=1&nnn=1212";
        byte[] urlBuf = url.getBytes();
        MD5Helper.encryptXor(urlBuf, key.getBytes());
        byte[] b64 = Base64.getEncoder().encode(urlBuf);
//        byte[] b64 = Base64.getUrlEncoder().encode(urlBuf);
        String b64Str = new String(b64);
        System.out.println(b64Str);
        b64Str = b64Str.replace("+", "-");
        b64Str = b64Str.replace("/", "*");
        System.out.println(b64Str);

        b64Str = b64Str.replace("-", "+");
        b64Str = b64Str.replace("*", "/");
        byte[] buf = Base64.getDecoder().decode(b64Str.getBytes());
        MD5Helper.encryptXor(buf, key.getBytes());
        System.out.println(new String(buf));

        URL u = new URL("http://10.7.88.7:80/fzyx/fzyx_main.aspx?id=home ");
        System.out.println(u.getHost());
        System.out.println(u.getProtocol());
        System.out.println(u.getPort());

        URL u1 = new URL(u.getProtocol(), u.getHost(), u.getPort(), "/aaa.asp");
        System.out.println(u1);

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy