需要注意的是RSA加密内容是有长度限制的,1024位密钥可以加密128字节(1024位),不满128字节的使用随机数填充,但是RSA实现中必须要加随机数(11字节以上),所以明文长度最大为117字节,然后剩下的加入随机数。这也产生了每次加密结果每一次都不一样的特点。如果明文长度超过限制怎么办?可以分段加密。将明文按117字节分成多段,加密后再拼接起来。由于每一段密文长度都是128字节,所以解密时按...
java使用zip带有密码解压和压缩
常用工具类因为jdk自带的zip不支持密码,所以使用第三方包jar使用jdk1.8编译,但是兼容jdk1.7,部分功能可能会受影响,1.8以上正常jar点我下载 zip4j.jarimport net.lingala.zip4j.ZipFile; import net.lingala.zip4j.exception.ZipException; import net.lingal...
SM4 CBC模式加密工具类
常用工具类import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.pqc.math.linearalgebra.ByteUtils; import javax.crypto.Cipher; import javax.c...
SM4 ECB模式加密工具类
常用工具类import java.security.Key; import java.security.SecureRandom; import java.security.Security; import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.Ke...
java解决请求https报证书错误,不信任证书
常用工具类Java在请求某些不受信任的https网站时会报:PKIX path building failedjavax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security....
Java线程池工具类
常用工具类为什么要使用线程池?(一)提高程序的执行效率如果程序中有大量短时间任务的线程任务,由于创建和销毁线程需要和底层操作系统交互,大量时间都耗费在创建和销毁线程上,因而比较浪费时间,系统效率很低而线程池里的每一个线程任务结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来使用,因而借助线程池可以提高程序的执行效率(二)控制线程的数量,防止程序崩溃(线程过多内存溢出)如果不加限制地创建和...
普通类、工具类获取HttpServletRequest,HttpServletResponse、HttpSession
常用工具类import com.bughz.forum.admin.model.User; import org.springframework.web.context.ContextLoader; import org.springframework.web.context.request.RequestContextHolder; import org.sprin...
将异常消息转为String类型,Exception转String
常用工具类import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; public class ErrorHelper { public static String get...
JAVA访问网络的工具类,POST,GET等请求方式,不同参数类型
常用工具类主类 TriHttpRequest (请求类)import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.Ht...