• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

FinalCrypt - The No¹ One-Time Pad Encryption


Commit MetaInfo

Revisãofaf53dc3772061670d48566ea7942fa9c2c8f510 (tree)
Hora2021-02-05 13:22:44
Autorron <ronuitzaandam@gmai...>
Commiterron

Mensagem de Log

Date: 2021-02-05 Version: 6.7.3

Set orange alert-status on reuse-keys activation
This alert-status discourages non-experts users!

Mudança Sumário

Diff

--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,8 @@
1+Date: 2021-02-05 Version: 6.7.3
2+
3+Set orange alert-status on reuse-keys activation
4+This alert-status discourages non-experts users!
5+
16 Date: 2021-01-27 Version: 6.7.2
27
38 Improved minimum window size for smaller screens
--- a/manpage.txt
+++ b/manpage.txt
@@ -66,4 +66,4 @@ Parameters:
6666 <[-t "file/dir"]> Target items (files or directories) you want to encrypt (recursive)
6767 <[-b "batchfile"]> Batchfile with targetfiles you want to encrypt (only files)
6868
69-FinalCrypt 6.7.2 - Author: Ron de Jong <info@finalcrypt.org> - CC BY-NC-ND 4.0: License 2017-2021
\ No newline at end of file
69+FinalCrypt 6.7.3 - Author: Ron de Jong <info@finalcrypt.org> - CC BY-NC-ND 4.0: License 2017-2021
\ No newline at end of file
--- a/manpage_examples.txt
+++ b/manpage_examples.txt
@@ -90,4 +90,4 @@ Typewriter Examples (Print to screen like a typewriter):
9090 java -cp finalcrypt.jar rdj/TypeWriter -t "built-in sound" -s 8 -min 20 -max 100
9191 java -cp finalcrypt.jar rdj/TypeWriter -t "ext sound file" -s file.wav -min 20 -max 100
9292
93-FinalCrypt 6.7.2 - Author: Ron de Jong <info@finalcrypt.org> - CC BY-NC-ND 4.0: License 2017-2021
\ No newline at end of file
93+FinalCrypt 6.7.3 - Author: Ron de Jong <info@finalcrypt.org> - CC BY-NC-ND 4.0: License 2017-2021
\ No newline at end of file
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -8,7 +8,7 @@ application.homepage=http://www.finalcrypt.org/
88 application.splash=
99 application.title=FinalCrypt
1010 application.vendor=FinalCrypt
11-application.implementation.version=6.7.2
11+application.implementation.version=6.7.3
1212 auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs=false
1313 auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width=4
1414 auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab=4
--- a/src/rdj/GUIFX.fxml
+++ b/src/rdj/GUIFX.fxml
@@ -118,6 +118,22 @@
118118 <children>
119119 <GridPane alignment="CENTER" layoutX="39.0" layoutY="50.0" maxWidth="1.7976931348623157E308" prefHeight="50.0" prefWidth="769.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
120120 <children>
121+ <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.rowSpan="2">
122+ <children>
123+ <Button fx:id="keyFileDeleteButton2" alignment="CENTER" contentDisplay="CENTER" disable="true" maxHeight="20.0" mnemonicParsing="false" onAction="#keyFileDeleteButton2OnAction" prefHeight="20.0" prefWidth="78.0" text="Delete" textAlignment="CENTER" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="10.0">
124+ <tooltip>
125+ <Tooltip fx:id="keyFileDeleteButton2ToolTip" text="Delete selected item(s)">
126+ <font>
127+ <Font size="14.0" />
128+ </font>
129+ </Tooltip>
130+ </tooltip>
131+ <font>
132+ <Font size="14.0" />
133+ </font>
134+ </Button>
135+ </children>
136+ </AnchorPane>
121137 <AnchorPane prefHeight="25.0" prefWidth="321.0" GridPane.columnIndex="1">
122138 <children>
123139 <Label fx:id="keyLabel1" alignment="CENTER" contentDisplay="CENTER" focusTraversable="false" prefHeight="25.0" prefWidth="296.0" style="-fx-font-size: 16;" styleClass="text_color_standard" text="Select One-Time Pad Key Dir" textAlignment="CENTER" textFill="LIGHTGRAY" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
@@ -139,22 +155,6 @@
139155 </Label>
140156 </children>
141157 </AnchorPane>
142- <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.rowSpan="2">
143- <children>
144- <Button fx:id="keyFileDeleteButton2" alignment="CENTER" contentDisplay="CENTER" disable="true" maxHeight="20.0" mnemonicParsing="false" onAction="#keyFileDeleteButton2OnAction" prefHeight="20.0" prefWidth="78.0" text="Delete" textAlignment="CENTER" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="10.0">
145- <tooltip>
146- <Tooltip fx:id="keyFileDeleteButton2ToolTip" text="Delete selected item(s)">
147- <font>
148- <Font size="14.0" />
149- </font>
150- </Tooltip>
151- </tooltip>
152- <font>
153- <Font size="14.0" />
154- </font>
155- </Button>
156- </children>
157- </AnchorPane>
158158 <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowSpan="2">
159159 <children>
160160 <Label fx:id="keyInfoLabel" alignment="CENTER" contentDisplay="CENTER" focusTraversable="false" onMouseClicked="#keyInfoLabelClicked" prefHeight="40.0" prefWidth="30.0" style="-fx-font-family: FreeSans; -fx-font-size: 18;" text="info" textAlignment="CENTER" textFill="LIGHTGRAY" underline="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
@@ -237,7 +237,7 @@
237237 <ColumnConstraints hgrow="SOMETIMES" percentWidth="6.0" />
238238 <ColumnConstraints hgrow="SOMETIMES" percentWidth="6.0" />
239239 <ColumnConstraints hgrow="SOMETIMES" percentWidth="6.0" />
240- <ColumnConstraints hgrow="SOMETIMES" percentWidth="6.0" />
240+ <ColumnConstraints halignment="RIGHT" hgrow="SOMETIMES" percentWidth="6.0" />
241241 <ColumnConstraints />
242242 </columnConstraints>
243243 <rowConstraints>
@@ -252,6 +252,36 @@
252252 <RowConstraints maxHeight="15.0" minHeight="15.0" prefHeight="30.0" vgrow="SOMETIMES" />
253253 </rowConstraints>
254254 <children>
255+ <AnchorPane prefWidth="200.0" GridPane.columnIndex="16" GridPane.columnSpan="2" GridPane.halignment="CENTER">
256+ <children>
257+ <Label fx:id="keyHeaderLabel" alignment="CENTER" cache="true" cacheHint="SPEED" contentDisplay="CENTER" focusTraversable="false" prefHeight="15.0" styleClass="dashboard_generic" textAlignment="CENTER" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
258+ </children>
259+ </AnchorPane>
260+ <AnchorPane prefWidth="200.0" GridPane.columnIndex="16" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.rowIndex="1">
261+ <children>
262+ <Label fx:id="keyNameLabel" alignment="CENTER" cache="true" cacheHint="SPEED" contentDisplay="CENTER" focusTraversable="false" prefHeight="15.0" textAlignment="CENTER" textFill="#808080" textOverrun="CENTER_ELLIPSIS" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
263+ <tooltip>
264+ <Tooltip fx:id="keyNameLabelTooltip">
265+ <font>
266+ <Font size="14.0" />
267+ </font>
268+ </Tooltip>
269+ </tooltip>
270+ </Label>
271+ </children>
272+ </AnchorPane>
273+ <Label fx:id="reuseKeysLabel" alignment="TOP_CENTER" contentDisplay="CENTER" maxHeight="30.0" maxWidth="30.0" minHeight="30.0" minWidth="30.0" onMouseClicked="#reuseKeysLabelOnMouseClicked" prefHeight="30.0" prefWidth="30.0" text="♺" textAlignment="CENTER" textFill="#303030" translateX="15.0" GridPane.columnIndex="17" GridPane.valignment="BASELINE">
274+ <font>
275+ <Font size="24.0" />
276+ </font>
277+ <tooltip>
278+ <Tooltip fx:id="reuseKeysLabelToolTip" text="Reuse Key (only use if you know what you are doing)\r\n\r\nReuse Key can be used in case you want to quick view and reencrypt without making changes to the original file to prevent unnecessary backups">
279+ <font>
280+ <Font size="14.0" />
281+ </font>
282+ </Tooltip>
283+ </tooltip>
284+ </Label>
255285 <AnchorPane maxHeight="15.0" minHeight="15.0" prefHeight="15.0" prefWidth="44.0" GridPane.rowIndex="1">
256286 <children>
257287 <Label fx:id="targetWarningNameLabel" alignment="BASELINE_LEFT" contentDisplay="CENTER" layoutX="15.0" layoutY="8.0" prefHeight="15.0" prefWidth="70.0" styleClass="dashboard_generic" text="Skipping" textFill="#aaaaaa" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
@@ -316,24 +346,6 @@
316346 </font></Label>
317347 </children>
318348 </AnchorPane>
319- <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="16" GridPane.columnSpan="2">
320- <children>
321- <Label fx:id="keyHeaderLabel" alignment="CENTER" cache="true" cacheHint="SPEED" focusTraversable="false" layoutX="63.0" layoutY="-5.0" prefHeight="15.0" prefWidth="190.0" styleClass="dashboard_generic" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
322- </children>
323- </AnchorPane>
324- <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="17">
325- <children>
326- <CheckBox fx:id="reuseKeyCheckBox" alignment="CENTER" contentDisplay="CENTER" mnemonicParsing="false" onAction="#reuseKeyCheckBoxOnAction" opacity="0.15" styleClass="dashboard_generic" textAlignment="CENTER" visible="false" AnchorPane.rightAnchor="0.0">
327- <tooltip>
328- <Tooltip fx:id="reuseKeyCheckBoxToolTip" text="Reuse Key (only use if you know what you are doing)\r\n\r\nReuse Key can be used in case you want to quick view and reencrypt without making changes to the original file to prevent unnecessary backups">
329- <font>
330- <Font size="14.0" />
331- </font>
332- </Tooltip>
333- </tooltip>
334- </CheckBox>
335- </children>
336- </AnchorPane>
337349 <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="16" GridPane.rowIndex="2">
338350 <children>
339351 <Label fx:id="keySizeHeaderLabel" alignment="CENTER_RIGHT" cache="true" cacheHint="SPEED" focusTraversable="false" layoutX="2.0" layoutY="-6.0" prefHeight="30.0" prefWidth="61.0" styleClass="dashboard_generic" text=" " AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" />
@@ -417,18 +429,6 @@
417429 </font></Label>
418430 </children>
419431 </AnchorPane>
420- <AnchorPane maxHeight="15.0" minHeight="15.0" prefHeight="15.0" prefWidth="172.0" scaleX="0.9" GridPane.columnIndex="16" GridPane.columnSpan="2" GridPane.rowIndex="1">
421- <children>
422- <Label fx:id="keyNameLabel" alignment="CENTER" cache="true" cacheHint="SPEED" focusTraversable="false" layoutX="66.0" prefHeight="15.0" prefWidth="190.0" textFill="#808080" textOverrun="CENTER_ELLIPSIS" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
423- <tooltip>
424- <Tooltip fx:id="keyNameLabelTooltip">
425- <font>
426- <Font size="14.0" />
427- </font>
428- </Tooltip>
429- </tooltip></Label>
430- </children>
431- </AnchorPane>
432432 <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="3" GridPane.rowIndex="6">
433433 <children>
434434 <Label fx:id="targetEncryptedNameLabel" alignment="BASELINE_LEFT" cache="true" cacheHint="SPEED" focusTraversable="false" layoutX="-8.0" prefHeight="15.0" prefWidth="70.0" styleClass="dashboard_generic" text="Encrypted" textFill="#aaaaaa" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
@@ -1086,18 +1086,15 @@
10861086 </Label>
10871087 </children>
10881088 </AnchorPane>
1089- <AnchorPane prefHeight="25.0" prefWidth="300.0" GridPane.columnIndex="4" GridPane.hgrow="NEVER">
1089+ <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1">
10901090 <children>
1091- <Label fx:id="authorLabel" alignment="BASELINE_RIGHT" cache="true" cacheHint="SPEED" contentDisplay="RIGHT" focusTraversable="false" maxHeight="15.0" minHeight="15.0" onMouseClicked="#authorLabelOnMouseClicked" onMouseEntered="#authorLabelOnMouseEntered" onMouseExited="#authorLabelOnMouseExited" prefHeight="25.0" prefWidth="234.0" styleClass="text_color_low" text="author" textAlignment="RIGHT" textFill="#aaaaaa" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
1092- <font>
1093- <Font name="Open Sans" size="12.0" />
1094- </font>
1095- <padding>
1096- <Insets left="5.0" right="5.0" />
1097- </padding>
1091+ <Label fx:id="logsLabel" alignment="CENTER" contentDisplay="CENTER" disable="true" onMouseClicked="#logsLabelOnMouseClicked" onMouseEntered="#logsLabelOnMouseEntered" onMouseExited="#logsLabelOnMouseExited" prefHeight="20.0" prefWidth="125.0" styleClass="text_color_low" text="Logs" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
10981092 <cursor>
10991093 <Cursor fx:constant="HAND" />
11001094 </cursor>
1095+ <font>
1096+ <Font size="12.0" />
1097+ </font>
11011098 </Label>
11021099 </children>
11031100 </AnchorPane>
@@ -1125,9 +1122,25 @@
11251122 </Label>
11261123 </children>
11271124 </AnchorPane>
1125+ <AnchorPane prefHeight="25.0" prefWidth="300.0" GridPane.columnIndex="4" GridPane.hgrow="NEVER">
1126+ <children>
1127+ <Label fx:id="authorLabel" alignment="BASELINE_RIGHT" cache="true" cacheHint="SPEED" contentDisplay="RIGHT" focusTraversable="false" maxHeight="15.0" minHeight="15.0" onMouseClicked="#authorLabelOnMouseClicked" onMouseEntered="#authorLabelOnMouseEntered" onMouseExited="#authorLabelOnMouseExited" prefHeight="25.0" prefWidth="234.0" styleClass="text_color_low" text="author" textAlignment="RIGHT" textFill="#aaaaaa" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
1128+ <font>
1129+ <Font name="Open Sans" size="12.0" />
1130+ </font>
1131+ <padding>
1132+ <Insets left="5.0" right="5.0" />
1133+ </padding>
1134+ <cursor>
1135+ <Cursor fx:constant="HAND" />
1136+ </cursor>
1137+ </Label>
1138+ </children>
1139+ </AnchorPane>
1140+ <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="5" />
11281141 <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="6">
11291142 <children>
1130- <Label fx:id="commandLabel" alignment="CENTER" contentDisplay="CENTER" disable="true" layoutX="-35.0" onMouseClicked="#commandLabelOnMouseClicked" onMouseEntered="#commandLabelOnMouseEntered" onMouseExited="#commandLabelOnMouseExited" prefHeight="20.0" prefWidth="65.0" style="-fx-border-radius: 5; -fx-border-color: GREY;" styleClass="text_color_low" text="&gt;_" textAlignment="CENTER" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
1143+ <Label fx:id="commandLabel" alignment="CENTER" contentDisplay="CENTER" disable="true" onMouseClicked="#commandLabelOnMouseClicked" onMouseEntered="#commandLabelOnMouseEntered" onMouseExited="#commandLabelOnMouseExited" prefHeight="20.0" prefWidth="65.0" style="-fx-border-radius: 5; -fx-border-color: GREY;" styleClass="text_color_low" text="&gt;_" textAlignment="CENTER" visible="false" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
11311144 <cursor>
11321145 <Cursor fx:constant="HAND" />
11331146 </cursor>
@@ -1144,18 +1157,6 @@
11441157 </Label>
11451158 </children>
11461159 </AnchorPane>
1147- <AnchorPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1">
1148- <children>
1149- <Label fx:id="logsLabel" alignment="CENTER" contentDisplay="CENTER" disable="true" onMouseClicked="#logsLabelOnMouseClicked" onMouseEntered="#logsLabelOnMouseEntered" onMouseExited="#logsLabelOnMouseExited" prefHeight="20.0" prefWidth="125.0" styleClass="text_color_low" text="Logs" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
1150- <cursor>
1151- <Cursor fx:constant="HAND" />
1152- </cursor>
1153- <font>
1154- <Font size="12.0" />
1155- </font>
1156- </Label>
1157- </children>
1158- </AnchorPane>
11591160 </children>
11601161 </GridPane>
11611162 </children>
--- a/src/rdj/GUIFX.java
+++ b/src/rdj/GUIFX.java
@@ -263,6 +263,9 @@ public class GUIFX extends Application implements UI, Initializable
263263 @FXML private Tooltip decryptedLabelToolTip;
264264 @FXML private Label logsLabel;
265265 @FXML private Tooltip undecryptableLabelToolTip;
266+ @FXML private AnchorPane root;
267+ @FXML private Label reuseKeysLabel;
268+ @FXML private Tooltip reuseKeysLabelToolTip;
266269
267270 // @FXML private ToggleButton encryptionModeToggleButton;
268271 // @FXML private Tooltip encryptionModeToolTip;
@@ -427,7 +430,7 @@ public class GUIFX extends Application implements UI, Initializable
427430 }));
428431 private Stage mainStage;
429432
430- private FinalCrypt finalCrypt;
433+ private FinalCrypt finalcrypt;
431434 private UI ui;
432435 private GUIFX guifx;
433436
@@ -618,12 +621,6 @@ public class GUIFX extends Application implements UI, Initializable
618621 private Stage preloaderStage;
619622 private Group preloaderRootGroup;
620623 private Scene preloaderScene;
621- @FXML
622- private CheckBox reuseKeyCheckBox;
623- @FXML
624- private Tooltip reuseKeyCheckBoxToolTip;
625- @FXML
626- private AnchorPane root;
627624
628625 private String getPauseDescription() { return pauseDescription; }
629626 private String getStopDescription() { return stopDescription; }
@@ -791,7 +788,7 @@ public class GUIFX extends Application implements UI, Initializable
791788 stopDescription=bundle.getString("102");
792789
793790 commandLabelToolTip.setText(bundle.getString("146"));
794- reuseKeyCheckBoxToolTip.setText(bundle.getString("155"));
791+ reuseKeysLabelToolTip.setText(bundle.getString("155"));
795792
796793 tgtFileChooser.setLocale(locale); keyFileChooser.setLocale(locale);
797794
@@ -1008,7 +1005,7 @@ public class GUIFX extends Application implements UI, Initializable
10081005 keyFileChooser.addActionListener( (java.awt.event.ActionEvent evt) -> { keyFileChooserActionPerformed(evt); });
10091006 Timeline timeline = new Timeline(new KeyFrame( Duration.millis(200), ae -> { keyFileSwingNode.setContent(keyFileChooser); } )); timeline.play(); // Delay keyFileChooser to give 1st focus to targetFileChooser
10101007
1011- finalCrypt = new FinalCrypt(this); finalCrypt.start();
1008+ finalcrypt = new FinalCrypt(this); finalcrypt.start();
10121009
10131010
10141011 pwdField.setContextMenu(new ContextMenu()); // Getting rid of the mouse paste function. Actionlistener does not pickup on pasted passwords through mouse
@@ -1185,7 +1182,7 @@ public class GUIFX extends Application implements UI, Initializable
11851182 // First time selection Key Directory
11861183 Path keyPath = keyFileChooser.getCurrentDirectory().toPath();
11871184 // getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report)
1188- keyFCPath = Validate.getFCPath( this, "", keyPath, true, keyPath, finalCrypt.disabledMAC, true);
1185+ keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalcrypt.disabledMAC, true);
11891186
11901187
11911188 targetFCPathList = new FCPathList<FCPath>(); updateDashboard(targetFCPathList);
@@ -1241,6 +1238,8 @@ public class GUIFX extends Application implements UI, Initializable
12411238 bottomrightLabel.setText(arrows.substring(4, 6));
12421239 bottomleftLabel.setText(arrows.substring(6, 8));
12431240 }
1241+ reuseKeysLabel.setVisible(false);
1242+ reuseKeysLabel.setDisable(false);
12441243
12451244 authorLabel.setText("Author: " + Version.getAuthor());
12461245 // log(getRuntimeEnvironment(), false, true, true, false ,false);
@@ -1606,7 +1605,7 @@ public class GUIFX extends Application implements UI, Initializable
16061605 private void updateSystemMonitor()
16071606 {
16081607 double userLoadPerc = getUserLoadPerc(); String userLoadString = CPU_SYMBOL + " " + cpu_workload + " (" + Stats.getDecimal(userLoadPerc,0) + "%)"; MemStats memStats = getMemStats();
1609- double throughputPerc = ((megaBytesPerSecond) / (finalCrypt.io_Throughput_Ceiling / 100)); String throughputString = STORAGE_SYMBOL + " " + storage_io_throughput + " (" + Stats.getDecimal((throughputPerc * (finalCrypt.io_Throughput_Ceiling / 100)),1) + " MiB/S)";
1608+ double throughputPerc = ((megaBytesPerSecond) / (finalcrypt.io_Throughput_Ceiling / 100)); String throughputString = STORAGE_SYMBOL + " " + storage_io_throughput + " (" + Stats.getDecimal((throughputPerc * (finalcrypt.io_Throughput_Ceiling / 100)),1) + " MiB/S)";
16101609 displaySystemMonitor(userLoadPerc, userLoadString, memStats.usedMemPerc, memStats.memStatsString, throughputPerc, throughputString);
16111610 }
16121611
@@ -2079,14 +2078,14 @@ public class GUIFX extends Application implements UI, Initializable
20792078 {
20802079 new AudioPlayer().play(this, Audio.SND_INPUT_OK,Audio.AUDIO_CODEC);
20812080 // play(SND_INPUT_OK, AUDIO_CODEC);
2082- ArrayList<Path> pathList = finalCrypt.getPathList(tgtFileChooser.getSelectedFiles());
2081+ ArrayList<Path> pathList = finalcrypt.getPathList(tgtFileChooser.getSelectedFiles());
20832082 // boolean delete = true;
20842083 boolean returnpathlist = false;
20852084 String pattern1 = "glob:*";
20862085
20872086 tab.getSelectionModel().select(1);
20882087 log("\r\nDeleting selecttion started\r\n\r\n", true, true, true, false, false);
2089- finalCrypt.deleteSelection(pathList, keyFCPath, MySimpleFCFileVisitor.DELETE, returnpathlist, pattern1, false);
2088+ finalcrypt.deleteSelection(pathList, keyFCPath, MySimpleFCFileVisitor.DELETE, returnpathlist, pattern1, false);
20902089 log("\r\nDeleting selection finished\r\n\r\n", true, true, true, false, false);
20912090 updateFileChoosers(true, false, true, true, false, true); // targetFileDeleteButtonActionPerformed()
20922091 }
@@ -2120,17 +2119,17 @@ public class GUIFX extends Application implements UI, Initializable
21202119 if (keyFileChooser.getSelectedFiles().length > 0)
21212120 {
21222121 new AudioPlayer().play(this, Audio.SND_INPUT_OK,Audio.AUDIO_CODEC);
2123- ArrayList<Path> pathList = finalCrypt.getPathList(keyFileChooser.getSelectedFiles());
2122+ ArrayList<Path> pathList = finalcrypt.getPathList(keyFileChooser.getSelectedFiles());
21242123 // boolean delete = true;
21252124 boolean returnpathlist = false;
21262125 String pattern1 = "glob:*";
21272126
21282127 tab.getSelectionModel().select(1);
21292128 log("\r\nDeleting selecttion started\r\n\r\n", true, true, true, false, false);
2130- finalCrypt.deleteSelection(pathList, keyFCPath, MySimpleFCFileVisitor.DELETE, returnpathlist, pattern1, false);
2129+ finalcrypt.deleteSelection(pathList, keyFCPath, MySimpleFCFileVisitor.DELETE, returnpathlist, pattern1, false);
21312130 log("\r\nDeleting selection finished\r\n\r\n", true, true, true, false, false);
21322131 // Validate.getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report)
2133- Path path = Paths.get("."); keyFCPath = Validate.getFCPath( ui, "", path, false, path, finalCrypt.disabledMAC, true);
2132+ Path path = Paths.get("."); keyFCPath = Validate.getFCPath(ui, "", path, false, path, finalcrypt.disabledMAC, true);
21342133 updateFileChoosers(true, false, true, true, false, true); // keyFileDeleteButtonActionPerformed()
21352134 }
21362135 }
@@ -2188,12 +2187,12 @@ public class GUIFX extends Application implements UI, Initializable
21882187 if (keyFCPath == null)
21892188 {
21902189 // Validate.getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report)
2191- Path path = Paths.get("."); keyFCPath = Validate.getFCPath( ui, "", path, false, path, finalCrypt.disabledMAC, true);
2190+ Path path = Paths.get("."); keyFCPath = Validate.getFCPath(ui, "", path, false, path, finalcrypt.disabledMAC, true);
21922191 }
21932192 Path targetPath = tgtFileChooser.getSelectedFile().toPath();
21942193
21952194 // getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report)
2196- FCPath targetFCPath = Validate.getFCPath(this, "", targetPath, false, keyFCPath.path, finalCrypt.disabledMAC, true);
2195+ FCPath targetFCPath = Validate.getFCPath(this, "", targetPath, false, keyFCPath.path, finalcrypt.disabledMAC, true);
21972196
21982197 if ((targetFCPath.type == FCPath.DEVICE) || (targetFCPath.type == FCPath.DEVICE_PROTECTED))
21992198 {
@@ -2420,7 +2419,7 @@ public class GUIFX extends Application implements UI, Initializable
24202419 if ((showPasswordCheckBox.isVisible()) && (pwdField.getText().length() == 0)) { passwordHeaderLabel.setText(password_optional); } else { passwordHeaderLabel.setText(password_set); }
24212420 pwdField.setDisable(true);
24222421 pwdtxtField.setDisable(true);
2423- finalCrypt.setPwd(pwdField.getText()); finalCrypt.setPwdBytes(pwdField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos();
2422+ finalcrypt.setPwd(pwdField.getText()); finalcrypt.setPwdBytes(pwdField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos();
24242423 keyImageView.setOpacity(0.8);
24252424
24262425 updateDashboardTask = new TimerTask() { @Override public void run() { updateDashboard(targetFCPathList2); }};
@@ -2443,7 +2442,7 @@ public class GUIFX extends Application implements UI, Initializable
24432442 Thread buildSelectionThread = new Thread(() -> // Relaxed interruptable thread
24442443 {
24452444 // buildSelection(UI ui, ArrayList<Path> pathList, FCPath keyFCPath, FCPathList<FCPath> targetFCPathList, boolean symlink, String pattern, boolean negatePattern, boolean disabledMAC, boolean status)
2446- Validate.buildSelection(ui, targetPathList, keyFCPath, targetFCPathList2, symlink, pattern, negatePattern, finalCrypt.disabledMAC, false);
2445+ Validate.buildSelection(ui, targetPathList, keyFCPath, targetFCPathList2, symlink, pattern, negatePattern, finalcrypt.disabledMAC, false);
24472446 }); buildSelectionThread.setName("buildSelectionThread"); buildSelectionThread.setDaemon(true); buildSelectionThread.start();
24482447 })); timeline.play();
24492448 }
@@ -2497,7 +2496,7 @@ public class GUIFX extends Application implements UI, Initializable
24972496 checksumHeader.setVisible(show);
24982497 showPasswordCheckBox.setVisible(show);
24992498 keyImageView.setVisible(show);
2500- reuseKeyCheckBox.setVisible(show);
2499+ reuseKeysLabel.setVisible(show);
25012500 }
25022501
25032502 synchronized private void keyFileChooserPropertyCheck(boolean controlled) // getFCPath, checkModeReady
@@ -2538,7 +2537,7 @@ public class GUIFX extends Application implements UI, Initializable
25382537 }
25392538
25402539 // Set Buffer Size
2541- finalCrypt.setBufferSize(finalCrypt.getBufferSizeDefault());
2540+ finalcrypt.setBufferSize(finalcrypt.getBufferSizeDefault());
25422541
25432542 // Validate KeyFile
25442543 if ((keyFileChooser != null) && (keyFileChooser.getSelectedFile() != null) && (keyFileChooser.getSelectedFiles().length == 1))
@@ -2553,7 +2552,7 @@ public class GUIFX extends Application implements UI, Initializable
25532552 keyPath = keyFileChooser.getCurrentDirectory().toPath();
25542553 }
25552554 // getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report)
2556- keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalCrypt.disabledMAC, true);
2555+ keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalcrypt.disabledMAC, true);
25572556
25582557 // ============================================================================================================================
25592558 // ============================================== Validate Key Selected =======================================================
@@ -2577,13 +2576,13 @@ public class GUIFX extends Application implements UI, Initializable
25772576 if ((showPasswordCheckBox.isVisible()) && (pwdField.getText().length() == 0)) { passwordHeaderLabel.setText(password_optional); } else { passwordHeaderLabel.setText(password_set); }
25782577 pwdField.setDisable(false);
25792578 pwdtxtField.setDisable(false);
2580- finalCrypt.setPwd(pwdField.getText()); finalCrypt.setPwdBytes(pwdField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos();
2579+ finalcrypt.setPwd(pwdField.getText()); finalcrypt.setPwdBytes(pwdField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos();
25812580
25822581 keyImageView.setImage(KEY_FILE_IMAGE);
25832582 keyImageView.setOpacity(0.8);
25842583
25852584 showKeyPanel(true);
2586- if (keyFCPath.type == FCPath.FILE) { reuseKeyCheckBox.setVisible(false); } else { reuseKeyCheckBox.setVisible(true); }
2585+ if (keyFCPath.type == FCPath.FILE) { reuseKeysLabel.setVisible(false); } else { reuseKeysLabel.setVisible(true); }
25872586
25882587 tgtFileChooserPropertyCheck(true);
25892588 }
@@ -2601,7 +2600,7 @@ public class GUIFX extends Application implements UI, Initializable
26012600 if ((showPasswordCheckBox.isVisible()) && (pwdField.getText().length() == 0)) { passwordHeaderLabel.setText(password_optional); } else { passwordHeaderLabel.setText(password_set); }
26022601 pwdField.setDisable(false);
26032602 pwdtxtField.setDisable(false);
2604- finalCrypt.setPwd(pwdField.getText()); finalCrypt.setPwdBytes(pwdField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos();
2603+ finalcrypt.setPwd(pwdField.getText()); finalcrypt.setPwdBytes(pwdField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos();
26052604
26062605 keyImageView.setImage(KEY_MAP_IMAGE);
26072606 keyImageView.setOpacity(0.8);
@@ -2676,7 +2675,7 @@ public class GUIFX extends Application implements UI, Initializable
26762675
26772676 Path keyPath = keyFileChooser.getCurrentDirectory().toPath();
26782677 // getFCPath(UI ui, String caller, Path path, boolean isKey, Path keyPath, boolean disabledMAC, boolean report)
2679- keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalCrypt.disabledMAC, true);
2678+ keyFCPath = Validate.getFCPath(this, "", keyPath, true, keyPath, finalcrypt.disabledMAC, true);
26802679
26812680 if ((keyFCPath.type == FCPath.DIRECTORY) && (keyFCPath.isValidKeyDir))
26822681 {
@@ -3039,7 +3038,7 @@ public class GUIFX extends Application implements UI, Initializable
30393038 }
30403039
30413040 // Decryptable Files
3042- if ((targetFCPathList.decryptableFiles > 0) && ( ! finalCrypt.disabledMAC) ) // Prevents destruction! Non-MAC Mode encrypting MAC encrypted files (in stead of default decryption)
3041+ if ((targetFCPathList.decryptableFiles > 0) && ( ! finalcrypt.disabledMAC) ) // Prevents destruction! Non-MAC Mode encrypting MAC encrypted files (in stead of default decryption)
30433042 {
30443043 new AudioPlayer().play(this, Audio.SND_SELECT,Audio.AUDIO_CODEC);
30453044 decryptableList = filter(targetFCPathList,(FCPath fcPath) -> fcPath.isDecryptable);
@@ -3374,9 +3373,9 @@ public class GUIFX extends Application implements UI, Initializable
33743373 {
33753374 @Override public void run()
33763375 {
3377- if (finalCrypt.processRunning)
3376+ if (finalcrypt.processRunning)
33783377 {
3379- finalCrypt.setStopPending(true);
3378+ finalcrypt.setStopPending(true);
33803379 try{ Thread.sleep(2000); } catch (InterruptedException ex) {}
33813380 log("\r\nEncryption User Interrupted...\r\n", false, true, true, false, false);
33823381 }
@@ -3396,7 +3395,7 @@ public class GUIFX extends Application implements UI, Initializable
33963395 pwdBytes = GPT.hex2Bytes(getHexString(hashBytes,2));
33973396 }
33983397 else { pwd = ""; }
3399- finalCrypt.encryptSelection(targetSourceFCPathList, filteredTargetSourceFCPathList, keyFCPath, true, pwd, pwdBytes, false);
3398+ finalcrypt.encryptSelection(targetSourceFCPathList, filteredTargetSourceFCPathList, keyFCPath, true, pwd, pwdBytes, false);
34003399 }
34013400
34023401 @FXML
@@ -3433,9 +3432,9 @@ public class GUIFX extends Application implements UI, Initializable
34333432 {
34343433 @Override public void run()
34353434 {
3436- if (finalCrypt.processRunning)
3435+ if (finalcrypt.processRunning)
34373436 {
3438- finalCrypt.setStopPending(true);
3437+ finalcrypt.setStopPending(true);
34393438 try{ Thread.sleep(2000); } catch (InterruptedException ex) {}
34403439 log("\r\nDecryption User Interrupted...\r\n", false, true, true, false, false);
34413440 }
@@ -3457,7 +3456,7 @@ public class GUIFX extends Application implements UI, Initializable
34573456 pwdBytes = GPT.hex2Bytes(getHexString(hashBytes,2));
34583457 }
34593458 else { pwd = ""; }
3460- finalCrypt.encryptSelection(targetSourceFCPathList, filteredTargetSourceFCPathList, keyFCPath, false, pwd, pwdBytes, open);
3459+ finalcrypt.encryptSelection(targetSourceFCPathList, filteredTargetSourceFCPathList, keyFCPath, false, pwd, pwdBytes, open);
34613460 }
34623461
34633462 @FXML private void keyLabelOnMouseClicked(MouseEvent event) { new AudioPlayer().play(this, Audio.SND_BUTTON,Audio.AUDIO_CODEC); createOTPKeyFile(); }
@@ -3509,7 +3508,7 @@ public class GUIFX extends Application implements UI, Initializable
35093508 // keyImageView.setImage(KEY_FILE_IMAGE);
35103509 keyImageView.setOpacity(0.8);
35113510
3512- finalCrypt.setPwd(""); finalCrypt.setPwdBytes(""); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos();
3511+ finalcrypt.setPwd(""); finalcrypt.setPwdBytes(""); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos();
35133512 });
35143513
35153514 Platform.runLater(() ->
@@ -3794,8 +3793,8 @@ public class GUIFX extends Application implements UI, Initializable
37943793 megaBytesPerSecond = bytesPerMiliSecondParam;
37953794
37963795 // update ProgressBars
3797- if (finalCrypt.getVerbose()) { log("Progress File : " + filesProgressPercent / 100.0 + " factor", false, false, false, false, true); }
3798- if (finalCrypt.getVerbose()) { log("Progress Files: " + fileProgressPercent / 100.0 + " factor", false, false, false, false, true); }
3796+ if (finalcrypt.getVerbose()) { log("Progress File : " + filesProgressPercent / 100.0 + " factor", false, false, false, false, true); }
3797+ if (finalcrypt.getVerbose()) { log("Progress Files: " + fileProgressPercent / 100.0 + " factor", false, false, false, false, true); }
37993798 fileProgressBar.setProgress((double)fileProgressPercent / 100.0); // percent needs to become factor in this gui
38003799 filesProgressBar.setProgress((double)filesProgressPercent / 100.0); // percent needs to become factor in this gui
38013800 updateDashboard(targetFCPathList);
@@ -4066,7 +4065,7 @@ public class GUIFX extends Application implements UI, Initializable
40664065 {
40674066 // Atomic
40684067 processPausing = ! processPausing;
4069- if ((processRunningMode == ENCRYPT_MODE) || (processRunningMode == DECRYPT_MODE)) { finalCrypt.setPausing(processPausing); } else { DeviceController.setPausing(processPausing); }
4068+ if ((processRunningMode == ENCRYPT_MODE) || (processRunningMode == DECRYPT_MODE)) { finalcrypt.setPausing(processPausing); } else { DeviceController.setPausing(processPausing); }
40704069
40714070 // UI
40724071 Platform.runLater(() ->
@@ -4101,7 +4100,7 @@ public class GUIFX extends Application implements UI, Initializable
41014100 {
41024101 if (((processRunningMode == ENCRYPT_MODE) || (processRunningMode == DECRYPT_MODE)))
41034102 {
4104- finalCrypt.setStopPending(true);
4103+ finalcrypt.setStopPending(true);
41054104 if (processPausing) { pauseProcess(true); }
41064105 }
41074106 else
@@ -4813,7 +4812,7 @@ public class GUIFX extends Application implements UI, Initializable
48134812 }
48144813 else
48154814 {
4816- finalCrypt.setPwd(pwdField.getText()); finalCrypt.setPwdBytes(pwdField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos();
4815+ finalcrypt.setPwd(pwdField.getText()); finalcrypt.setPwdBytes(pwdField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos();
48174816 pwdtxtField.setText(pwdField.getText());
48184817 pwdtxtFieldTooltip.setText(pwdField.getText());
48194818 setFont(pwdField);setFont(pwdtxtField);
@@ -4843,7 +4842,7 @@ public class GUIFX extends Application implements UI, Initializable
48434842 }
48444843 else
48454844 {
4846- finalCrypt.setPwd(pwdtxtField.getText()); finalCrypt.setPwdBytes(pwdtxtField.getText()); finalCrypt.resetPwdPos(); finalCrypt.resetPwdBytesPos();
4845+ finalcrypt.setPwd(pwdtxtField.getText()); finalcrypt.setPwdBytes(pwdtxtField.getText()); finalcrypt.resetPwdPos(); finalcrypt.resetPwdBytesPos();
48474846 pwdField.setText(pwdtxtField.getText());
48484847 pwdtxtFieldTooltip.setText(pwdtxtField.getText());
48494848 setFont(pwdField);setFont(pwdtxtField);
@@ -4940,9 +4939,25 @@ public class GUIFX extends Application implements UI, Initializable
49404939 log(Command.getCommandLine(!encryptButton.isDisabled(), !decryptButton.isDisabled()) + "\r\n", false, true, false, false, false);
49414940 }
49424941
4943- @FXML private void reuseKeyCheckBoxOnAction(ActionEvent event)
4942+ @FXML
4943+ private void reuseKeysLabelOnMouseClicked(MouseEvent event)
49444944 {
4945- finalCrypt.reuseKeys = reuseKeyCheckBox.isSelected();
4946- if (reuseKeyCheckBox.isSelected()) { reuseKeyCheckBox.setOpacity(1.0); Command.reuseKeysOption = "--reuse-keys"; } else { reuseKeyCheckBox.setOpacity(0.15); Command.reuseKeysOption = ""; }
4945+ Platform.runLater(() ->
4946+ {
4947+ new AudioPlayer().play(this, Audio.SND_BUTTON,Audio.AUDIO_CODEC);
4948+ if (!finalcrypt.reuseKeys)
4949+ {
4950+ finalcrypt.reuseKeys = true;
4951+ Command.reuseKeysOption = "--reuse-keys";
4952+ reuseKeysLabel.setTextFill(Color.ORANGE);
4953+ new AudioPlayer().play(this, Audio.SND_ALERT,Audio.AUDIO_CODEC);
4954+ }
4955+ else
4956+ {
4957+ finalcrypt.reuseKeys = false;
4958+ Command.reuseKeysOption = "";
4959+ reuseKeysLabel.setTextFill(Paint.valueOf("#303030"));
4960+ }
4961+ });
49474962 }
49484963 }
\ No newline at end of file
--- a/src/rdj/VERSION
+++ b/src/rdj/VERSION
@@ -1 +1 @@
1-6.7.2
\ No newline at end of file
1+6.7.3
\ No newline at end of file
--- a/src/rdj/VERSION2
+++ b/src/rdj/VERSION2
@@ -1,4 +1,4 @@
1-[Version] = {6.7.2}
1+[Version] = {6.7.3}
22 [] = {} ================================================================
33 [Release Notes] = {You are using a very old version of FinalCrypt}
44 [Release Message] = {Please visit the website & download the latest}
@@ -25,9 +25,10 @@
2525 [Upgrade Notes] = {Reuse Keys function breaks 1 out of 4 OTP rules!}
2626 [Upgrade Notes] = {Only use knowing the risk and what you are doing}
2727 [] = {} ----------------------------------------------------------------
28-[Update Notes] = {Update 2 (2021-01-27)}
28+[Update Notes] = {Update 3 (2021-02-05)}
2929 [Update Notes] = {}
30-[Update Notes] = {Improved minimum window size for smaller screens}
30+[Update Notes] = {Set orange alert-status on reuse-keys activation}
31+[Update Notes] = {This alert-status discourages non-experts users!}
3132 [] = {} --------------------------------------------------------------------------------------------------------
3233 [Alert Subject_] = {}
3334 [Alert Notes_] = {}