0
这是我的代码到目前为止。我需要运行代码的编码部分5次,然后解码编码的次数相同。我想出了如何对消息进行编码,但现在我无法弄清楚如何通过代码运行“编码”或“解码”变量来加强ecryption。如何多次运行加密程序以加强编码?
public class Codes
{
/**
* Encode and decode a message using a key of values stored in
* a queue.
*/
public static void main(String[] args)
{
int[] key = {7, 6, 5, 2, 8, 5, 8, 6, 4, 1};
Integer keyValue;
String encoded = "", decoded = "";
String message = "Queues are useful for encoding messages.";
Queue<Integer> encodingQueue = new LinkedList<Integer>();
Queue<Integer> decodingQueue = new LinkedList<Integer>();
// load key queues
for (int scan = 0; scan < key.length; scan++)
{
encodingQueue.add(key[scan]);
decodingQueue.add(key[scan]);
}
// encode message
for (int scan = 0; scan < message.length(); scan++)
{
keyValue = encodingQueue.remove();
encoded += (char) (message.charAt(scan) + keyValue);
encodingQueue.add(keyValue);
}
System.out.println ("Encoded Message:\n" + encoded + "\n");
// decode message
for (int scan = 0; scan < encoded.length(); scan++)
{
keyValue = decodingQueue.remove();
decoded += (char) (encoded.charAt(scan) - keyValue);
decodingQueue.add(keyValue);
}
System.out.println ("Decoded Message:\n" + decoded);
}
}
截至目前我收到这样的输出:
Encoded Message:
X{jwmx(gvf'{xgnzt&jpy&jpktlorh'sju{fokw/
Decoded Message:
Queues are useful for encoding messages.
为了完成这个节目,我需要的输出看起来像这样:
Encoded Message 1: X{jwmx(gvf'{xgnzt&jpy&jpktlorh'sju{fokw/
Encoded Message 2: _?oyu}0mzg.?}iv•|,nq?,orsytuvi.yow?kwq{0
Encoded Message 3: f?t{}?8s~h5??k~??2rr?2tt{~|{zj5•ty?p•w•1
Encoded Message 4: m?y}[email protected]?i<??m???8vs?8yv????~k<?y{?u?}?2
Encoded Message 5: t?~•??H•?jC??o???>zt?>~x?????lC?~}?z???3
Decoded Message 5: m?y}[email protected]?i<??m???8vs?8yv????~k<?y{?u?}?2
Decoded Message 4: f?t{}?8s~h5??k~??2rr?2tt{~|{zj5•ty?p•w•1
Decoded Message 3: _?oyu}0mzg.?}iv•|,nq?,orsytuvi.yow?kwq{0
Decoded Message 2: X{jwmx(gvf'{xgnzt&jpy&jpktlorh'sju{fokw/
Decoded Message 1: Queues are useful for encoding messages.
我估计在为了做到这一点,我需要使用循环来通过程序运行“编码”和“解码”变量。但是我不知道如何做到这一点。
请给出一点背景。告诉你的期望,为什么,以及你得到什么。否则,我们会整天盯着代码,只是为了得出结论,它正在做那里写的东西。 – vonbrand
您实际上并没有通过多次运行算法来加强任何事情。它所做的只是为每个角色添加一个常量,如果你多次这样做,你只需要改变哪个常量是有效添加的。例如:通过加上7来加密第一个字母,然后再次加上7来加密结果。你可以通过添加14来完成同样的事情。 – Wyzard
当我给出答案时,我错误地阅读了你的代码;我希望我的更新更有用。 – erickson