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

top.jfunc.common.crypto.symmetric.UrlCrypto Maven / Gradle / Ivy

The newest version!
package top.jfunc.common.crypto.symmetric;

import top.jfunc.common.crypto.Crypto;
import top.jfunc.common.crypto.CryptoException;
import top.jfunc.common.utils.CharsetUtil;

import java.net.URLDecoder;
import java.net.URLEncoder;

/**
 * URLEncoder 和 URLDecoder的加密解密方式
 * @author 熊诗言
 */
public class UrlCrypto implements Crypto {
    @Override
    public byte[] encrypt(byte[] src) {
        throw new CryptoException(new UnsupportedOperationException("请使用String encrypt(String src)"));
    }

    @Override
    public byte[] decrypt(byte[] src) {
        throw new CryptoException(new UnsupportedOperationException("请使用String decrypt(String src)"));
    }

    @Override
    public String encrypt(String src, String charset) {
        try {
            return URLEncoder.encode(src, charset);
        } catch (Exception e) {
            throw new CryptoException(e);
        }
    }

    @Override
    public String encrypt(String src) {
        return encrypt(src, CharsetUtil.UTF_8);
    }

    @Override
    public String decrypt(String src, String charset) {
        try {
            return URLDecoder.decode(src, charset);
        } catch (Exception e) {
            throw new CryptoException(e);
        }
    }

    @Override
    public String decrypt(String src) {
        return decrypt(src , CharsetUtil.UTF_8);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy