SecurityConfig.java

net.minecraft.server.jsonrpc.security.SecurityConfig

信息

  • 全限定名:net.minecraft.server.jsonrpc.security.SecurityConfig
  • 类型:public record
  • 包:net.minecraft.server.jsonrpc.security
  • 源码路径:src/main/java/net/minecraft/server/jsonrpc/security/SecurityConfig.java
  • 起始行号:L5
  • 职责:

    TODO

字段/常量

  • SECRET_KEY_CHARS
    • 类型: String
    • 修饰符: private static final
    • 源码定位: L6
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

public static boolean isValid(String secretKey) @ L8

  • 方法名:isValid
  • 源码定位:L8
  • 返回类型:boolean
  • 修饰符:public static

参数:

  • secretKey: String

说明:

TODO

public static String generateSecretKey() @ L12

  • 方法名:generateSecretKey
  • 源码定位:L12
  • 返回类型:String
  • 修饰符:public static

参数:

说明:

TODO

代码

public record SecurityConfig(String secretKey) {
    private static final String SECRET_KEY_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
 
    public static boolean isValid(String secretKey) {
        return secretKey.isEmpty() ? false : secretKey.matches("^[a-zA-Z0-9]{40}$");
    }
 
    public static String generateSecretKey() {
        SecureRandom random = new SecureRandom();
        StringBuilder key = new StringBuilder(40);
 
        for (int i = 0; i < 40; i++) {
            key.append(
                "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
                    .charAt(random.nextInt("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".length()))
            );
        }
 
        return key.toString();
    }
}

引用的其他类