安全存储数据的最佳方式?

时间:2011-03-10 17:47:10

标签: java database datastore

我正在寻找存储一些数据的方法。我希望我的程序用户能够选择存储数据的方式。他们可以选择数据库(PostgreSQL,MySQL),我希望有机会为新手用户选择更简单的方法,这样他们就不必安装数据库系统了。当他们第一次启动我的程序时,他们传递用户数据(登录/密码),我的程序生成的一些数据存储在用户的硬盘上。它是任何库(对于Java)或像db这样的东西,但是当我允许这样做时自动配置?我的意思是,我想在db中创建一些表,并且可以轻松访问它们。但它们应该是安全的(仅在第一次传递登录/密码时访问)。我希望你能理解我。很难解释我想要的东西:)

2 个答案:

答案 0 :(得分:4)

您可以使用嵌入式数据库,例如Apache Derby。另请参阅Working with encryption文章。

答案 1 :(得分:3)

如果我理解正确,您需要嵌入式SQL数据库引擎,可以存储数据吗?看看h2 databse 它很轻巧,有这个

Security Features

Includes a solution for the SQL injection problem
User password authentication uses SHA-256 and salt
For server mode connections, user passwords are never transmitted in plain text over the network (even when using insecure connections; this only applies to the TCP server and not to the H2 Console however; it also doesn't apply if you set the password in the database URL)
All database files (including script files that can be used to backup data) can be encrypted using AES-128 and XTEA encryption algorithms
The remote JDBC driver supports TCP/IP connections over SSL/TLS
The built-in web server supports connections over SSL/TLS
Passwords can be sent to the database using char arrays instead of Strings