使用 JDBC 时密码的字符串或字符 []?

String or char[] for password when using JDBC?(使用 JDBC 时密码的字符串或字符 []?)
本文介绍了使用 JDBC 时密码的字符串或字符 []?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

这是从安全的角度出发的.最佳实践是不要使用字符串来存储密码,而是使用 char[].这是否适用于任何时候使用密码?例如,使用 JDBC 时是否可以使用 String 来保存密码?

This comes from a security point of view.Best practice says not to use a String to store a password, but a char[]. Does this apply to using a password at any time? For example, it is acceptable to use a String to hold a password when using JDBC?

public final void Login(String username, String password){
...
conn = DriverManager.getConnection(url, username, password);
...
}

或者这里可以使用 char[] 来代替字符串吗?

Or could a char[] be used here in place of the String?

推荐答案

我不知道我是否接受你的前提,即 char [] 在 a 的上下文中比 String 更安全系统资源(例如 JDBC 数据库连接).无论如何,您都可以使用连接管理器(或连接池,以适合您的容器为准),然后连接管理器(并且只有连接管理器)可以看到底层数据库用户名/密码.

I don't know that I accept your premise that a char [] is more secure than a String in the context of a system(s) resource (e.g. JDBC database connection). Regardless, you can use a connection manager (or connection pool, whichever is appropriate to your container) and then the connection manager (and only the connection manager) has visibility to the underlying databse username / password.

这篇关于使用 JDBC 时密码的字符串或字符 []?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

quot;Char cannot be dereferencedquot; error(“Char 不能被取消引用错误)
Java Switch Statement - Is quot;orquot;/quot;andquot; possible?(Java Switch 语句 - 是“或/“和可能的?)
Java Replace Character At Specific Position Of String?(Java替换字符串特定位置的字符?)
What is the type of a ternary expression with int and char operands?(具有 int 和 char 操作数的三元表达式的类型是什么?)
Read a text file and store every single character occurrence(读取文本文件并存储出现的每个字符)
Why do I need to explicitly cast char primitives on byte and short?(为什么我需要在 byte 和 short 上显式转换 char 原语?)