相关疑难解决方法(0)

为什么char []比字符串更适合密码?

在Swing中,密码字段具有getPassword()(返回char[])方法而不是通常getText()(返回String)方法.同样,我遇到了一个不使用String来处理密码的建议.

为什么String在密码方面会对安全构成威胁?使用感觉不方便char[].

java security string passwords char

3298
推荐指数
16
解决办法
38万
查看次数

java.lang.IllegalArgumentException:如果指定的JWT经过数字签名,则必须指定签名密钥

我正在寻求JWT在我的应用程序中实现,我正在通过以下参考进行一些研发:https://stormpath.com/blog/jwt-java-create-verify.generateToken()当我尝试verifyToken()通过提取声明集时,我成功地能够实现该方法.我不明白apiKey.getSecret()从哪里来.你能指导我吗?

以下代码供参考:

public class JJWTDemo {

    private static final String secret = "MySecrete";

    private static String generateToken(){
        String id = UUID.randomUUID().toString().replace("-", "");
        Date now = new Date();
        Date exp = new Date(System.currentTimeMillis() + (1000*30)); // 30 seconds

        String token = Jwts.builder()
                .setId(id)
                .setIssuedAt(now)
                .setNotBefore(now)
                .setExpiration(exp)
                .signWith(SignatureAlgorithm.HS256, secret)
                .compact();

        return token;
    }

    private static void verifyToken(String token){
        Claims claims = Jwts.parser().
                setSigningKey(DatatypeConverter.parseBase64Binary(apiKey.getSecret()))
                .parseClaimsJws(token).getBody();
        System.out.println("----------------------------");
        System.out.println("ID: " + claims.getId());
        System.out.println("Subject: …
Run Code Online (Sandbox Code Playgroud)

java jjwt

7
推荐指数
1
解决办法
1万
查看次数

我可以使用什么替代 Java Spring 的 Jwts.signWith() 已弃用方法?

我需要在 mi API 中使用 JWT,IDE 告诉我 .signWith() 方法已弃用。到目前为止,我使用 @Deprecated 注释,但我认为这不是很好的做法。

这是我的示例代码:

@Deprecated
public String generateToken(UserDetails userDetails) {
    return Jwts.builder().setSubject(userDetails.getUsername()).setIssuedAt(new Date())
            .setExpiration(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 10))
            .signWith(SignatureAlgorithm.HS256, KEY).compact();
}
Run Code Online (Sandbox Code Playgroud)

java spring spring-security deprecated spring-boot

5
推荐指数
1
解决办法
2万
查看次数