2010-04-29 1 views
1

Мне нужна помощь и руководство по отображению разделенных строк в порядке.как отображать дешифрованные и разбитые строки в порядке?

скажем, у меня есть имя пользователя, пароль, nonceInString. Я успешно зашифровал и расшифровал их. затем я разделяю дешифрованные данные. это тоже было сделано.

Я хочу отображать дешифрованные данные по порядку. что-то вроде этого.

userneme: Себастиан
пароль: HarryPotter
значение одноразового номера: sdgvay1saq3qsd5vc6dger9wqktue2tz *

я попытался следующий код, но он не показывал, как я хотел бы.
PLS помощи. Заранее большое спасибо.

String codeWord = username + ";" + password + ";" + nonceInString; 
String encryptedData = aesEncryptDecrypt.encrypt(codeWord); 
String decryptedData = aesEncryptDecrypt.decrypt(encryptedData); 
String[] splits = decryptedData.split(";"); 
String[] variables = {"username", "password", "nonce value"}; 
for (String data : variables){ 
    for (String item : splits){ 
     System.out.println(data + ": "+ item); 
    } 
} 

ответ

4

Ваших вложенный для каждой-логики не так; вместо этого, вы должны явно паре элементов массива с помощью индекса:

for (int i = 0; i < variables.length; i++) { 
    System.out.println(variables[i] + ":" + splits[i]); 
} 

Заметим, что это предполагает, что оба массива имеют одинаковую длину, и выбросит ArrayIndexOutBoundsException если splits массив короче variables массив.


Как примечание стороны, для структуры отображения данных ключ-значение, вы можете захотеть взглянуть на java.util.Map.

import java.util.*; 

//... 

Map<String,String> map = new HashMap<String,String>(); 
map.put("username", "sebastian"); 
map.put("password", "harrypotter"); 
System.out.println(map); // prints "{username=sebastian, password=harrypotter}" 
System.out.println(map.get("password")); // prints "harrypotter" 
+0

Сначала я бы сделал тест: 'if splits.length! = Variables.length throw Exception (« Формат ввода не соответствует ожиданиям »)' или что-то в этом роде. У меня такое ощущение, что данные в будущем придут откуда-то еще :) – extraneon

+0

@polygenelubricants: большое спасибо. оно работает. @extraneon: Да, я мог бы сделать это в будущем. спасибо за ваше предложение. –

0

Это потому, что ваш внутренний цикл будет проходить через все значения в разбиениях для каждого элемента в переменных.

я предполагаю, что вы получили что-то вроде

username .. 
username .. 
username .. 
password .. 
pa.... 
+0

Да. это похоже на подобное. ответ «полигенных смазочных материалов» работает. –