相关疑难解决方法(0)

Java - 常见问题

与其他平台一样,跟进这个问题似乎合乎逻辑:Java中常见的非明显错误是什么?似乎他们应该工作的事情,但不是.

我不会给出如何构建答案的指导,或者什么"太容易"被认为是一个问题,因为这就是投票的目的.

也可以看看:

java

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

想要在java中从char数组创建一个字符流

从char数组,我想构建一个流来使用java 8功能,如过滤器和地图.

char[] list = {'a','c','e'};
Stream<Character> cStream = Stream.of(list);
// Stream<Character> cStream = Arrays.stream(list);
Run Code Online (Sandbox Code Playgroud)

第一种方法不起作用(原因:将cStream更改为Stream<char[]>).注释行也不起作用(原因:stream(T[])类型数组中的方法不适用于arguments(char[])).

我知道如果char[] list更改为int[],一切正常使用IntStream.但我不希望每次转换char[]int[]每个时间或更改到一个列表中,当我需要在使用流库char阵列.

java java-8 java-stream

38
推荐指数
4
解决办法
3万
查看次数

何时在API中使用CharSequence

我正在为包设计一个公共接口(API).我想知道,我应该CharSequence普遍使用而不是String.(我主要谈的是公共接口).

这样做有什么缺点吗?这被认为是一种好习惯吗?

如何将它用于类似标识符的目的(当值与基于散列的容器中的集合匹配时)?

java charsequence

22
推荐指数
3
解决办法
8374
查看次数

在Java中,如何在不生成String对象的情况下从HttpServletRequest头中提取密码?

处理敏感数据(==密码)的常见Java安全准则建议永远不要使用String对象来存储数据,而是使用字节或字符数组.我试图在HttpServlet处理程序中应用此指南.特别是,我使用类似于基本身份验证的方法,其中凭据在标头中传入(这是一个GET请求,因此没有正文).

我遇到的问题是,在没有生成String对象的情况下,似乎无法获取头数据,这违反了get-go的准则.我已经彻底搜索了一个解决方案,但没有找到任何相关的讨论.有没有人对此问题有任何见解?

注意:这是通过HTTPS进行的,因此这里没有连接安全问题.

java security passwords servlets http-headers

16
推荐指数
1
解决办法
1157
查看次数

为什么我们从char数组中的控制台读取密码而不是String

可能重复:
为什么char []比字符串更适合密码?

当我准备的时候,OCPJP我来到了主题 - "从控制台读取用户输入".

有一个例子,它usernameString引用中读取,而passwordchar[]数组中,但我无法理解为什么它使用了char数组..这是代码: -

Console console = System.console();

String username = console.readLine("User Name? ");
char[] password = console.readPassword("Password? "); 
Run Code Online (Sandbox Code Playgroud)

这引起了我的疑问.为什么我们没有使用String引用来存储密码.由于Strings不可变的,因此在String中读取密码必须更安全,因为其内容无法更改.

那么,passwordchar[]数组中阅读的重点是什么呢?

谁能在这件事上解释一下?

java console

15
推荐指数
3
解决办法
2899
查看次数

Java转换:char [] array - > String

如何将字符数组转换为字符串?
我有这个代码

Console c = System.console();
if (c == null) {
    System.err.println("No console.");
    System.exit(1);
}
char [] password = c.readPassword("Enter your password: ");
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为String,以便我可以验证

if(stringPassword == "Password"){
    System.out.println("Valid");
}
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个?

java string char

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

为什么JavaFx PasswordField将其内容作为String返回?

我目前正在学习JavaFX,我对JavaFX中的PasswordField没有返回密码的char或甚至字节数组的方法感到有点困惑.相反,我必须使用返回String的getText().

正如你在这里可以看到的那样, swing决定将getText()方法标记为depricated,并告诉程序员使用getPassword()代替它,它返回一个char数组.

如果我正确地取消了,那么char数组会更安全,因为你可以通过将所有值设置为0来完全擦除它们.那么为什么Oracle决定在JavaFx中使用字符串?是否有一些从堆中删除字符串的新方法?

编辑:据我所知,字符密码更加节省,因为我们可以删除它们(覆盖它们),而不是字符串.

java string javafx password-protection

12
推荐指数
1
解决办法
771
查看次数

Java将敏感的'key'存储为String或char []?

可能重复:
为什么char []比字符串更适合密码?

我在某处读到将敏感键存储为char []而不是String更好,因为后者可以在内存中找到.由于JPasswordField的getText()方法已被弃用,因此它也有一点意义.

这是真的?

java security string

9
推荐指数
1
解决办法
896
查看次数

静态密钥为byte [],Key还是String?

我已经开始使用JJWT在我的服务器应用程序上处理JWT.

我的JWT秘密将存储在resources文件夹中,我将在Properties课程中加载秘密.

JJWT提供了三种方法来签署JWT,一个用途byte[],其他用途String和其他用途Key:

JwtBuilder signWith(SignatureAlgorithm var1, byte[] var2);

JwtBuilder signWith(SignatureAlgorithm var1, String var2);

JwtBuilder signWith(SignatureAlgorithm var1, Key var2);
Run Code Online (Sandbox Code Playgroud)

问题:关于安全性,字符集和其他问题,我应该使用哪些建议?

一会儿,我站着String,因为Properties回来了String.

java security jwt jjwt

9
推荐指数
1
解决办法
6588
查看次数

Typesafe配置:内存中敏感值的加密/模糊处理

我有一个需要几个密码才能工作的Akka项目:访问数据存储区,分布式文件系统连接字符串......

这些值不是在配置文件中硬编码,而是在应用程序启动期间在运行时从密钥保管库中提取,然后存储在类型安全配置对象的内存中,因为第三方使用此配置来获取密码并打开连接.

我只是想知道这是否有风险,因为我猜测字符串将在内存中清晰.有没有办法透明地混淆/加密值?或者我是否需要在我这边实现它,并更新第三方,以便在实际打开连接之前转换字符串.

java scala typesafe-config

9
推荐指数
1
解决办法
531
查看次数