我创建了一个具有以下结构的多模块项目
myproject
|- mymodule
|- src
|- main
|- java
|- com
|- mymodule
|- Util.java
|-newmodule
|-src
|-main
|-java
|-com
|-newmodule
|- Main.java
|-module-info.java
Run Code Online (Sandbox Code Playgroud)
现在我想使用 Util.java,它是模块化模块 newmodule 中的非模块化代码。我已经在 newmodule 中声明了以下内容
module newmodule {
requires mymodule;
}
Run Code Online (Sandbox Code Playgroud)
项目编译正常,但 Intellij 显示模块未找到并且包 com.mymodule 在未命名模块中声明,模块“newmodule”不读取它。
如何解决这个问题?
还有一个问题,如果我什至不模块化遗留模块,所有旧的非模块化代码是否在默认情况下都会变成 java 9 中的自动模块?
如何通过 Java 防止 DoS 攻击TreeMap?
我的代码有一个接受Map对象的 API 。现在我想阻止客户端发送Map一定长度的对象。
现在maxarrayinjdk.serialFilter能够阻止客户端发送HashMap大小 >的对象maxarray。
我也想这样做TreeMap。但是maxarrayfield 对TreeMap. 它无法拒绝该请求。
我也设置了maxdepth尺寸。但没有任何效果。
任何人都可以帮我解决这个问题吗?
我在使用 Java 密码学时遇到以下问题。
错误 decrjavax.crypto.BadPaddingException:给定的最终块未正确填充。如果在解密过程中使用错误的密钥,可能会出现此类问题。
我检查了所有可能的答案,但找不到这背后的确切原因。
一项观察结果是,当我使用 AES/CBC/NoPadding 代替 AES/CBC/PKCS5Padding 时,我可以成功执行它。
这是我的代码片段。
package demo;
import javax.crypto.Cipher;
import javax.crypto.CipherInputStream;
import javax.crypto.CipherOutputStream;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.KeySpec;
public class TestEncryption {
private static final int BUFFER_SIZE = 32;
private static final int KEY_ITERATIONS = 65535;
private static final int DEFAULT_KEY_BITS = …Run Code Online (Sandbox Code Playgroud) java ×3
aes ×1
cryptography ×1
encryption ×1
java-9 ×1
java-module ×1
migration ×1
padding ×1
security ×1
treemap ×1