在java程序中存储字符串

时间:2015-12-29 05:57:33

标签: java mysql

我是Java的新手,我正在从事一个项目。

我想知道你是否可以在编译的java程序中而不是在文件中存储字符串..我已经可以使用JDBC查询和访问数据库了。

我希望有一个特殊的密钥对每个用户都是唯一的,但我不希望用户可以访问它。一旦你重新启动计算机,那个字符串仍然会被保存。这甚至可能吗?我不确定这是怎么可能的..

我感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

通常(但不总是)编译的java程序以.jar(或.war或.ear)的形式发布。这些是压缩'存档'包含java类文件和运行应用程序所需的其他东西的文件。

.jar只是一个zip文件。用户可以使用Windows,Linux,Mac OS的内置功能解压缩或读取其内容。因此,虽然可以将数据写入.jar,但用户可以很容易地访问它,甚至可以很容易理解。

答案 1 :(得分:1)

特殊钥匙?那么你最简单的解决方案就是创建一个偶数系列或奇数,这对每个用户来说都是不同的。

现在用于存储数据,您可以将数据保存在数据库或文本文件中, 保存在文本文件中就像这样

首先导入此

import java.io.*;

以下是在文本文件中创建和保存数据的代码。

int userSpecialkey = 123;    

File f = new File("FileName.txt");

f.createNewFile();

BufferedWriter bw = new BufferedWriter(new FileWriter(f));

bw.write(userSpecialkey);

bw.close();

一个简单的解决方案,对于加密数据,您可以将密码sting更改为char数组,然后为每个索引添加一些值

String name = "shady";
String password = "OnePunchMan";

char[] encryptingPassword = password.toCharArray();


for(int i=0; i < encryptingPassword.length; i++){
     encryptingPassword[i] += '5';
}

这会将char更改为新的char, 用于解密

for(int i=0; i < encryptingPassword.length; i++){
     encryptingPassword[i] -= '5';
}

`