Skip to content

der3318/3questions-text

Repository files navigation

🔒 3 Questions Text

ver gradle java portable license

An encryptor based on Shamir's secret sharing algo to protect your personal texts. By setting up 3 question-answer pairs, you will be able to see the plain text if and only if correctly providing any 2 of them.

🧱 References

Name Version Note
com.codahale:shamir 6.2.10 implementation of Shamir algorithm
com.google.protobuf:protobuf-java 3.17.3 file serialization
com.github.johnrengelman:shadow 2.0.1 fatjar packaging tool
www.iconfinder.com - app icon ()

💭 How It Works

Encrypt
Decrypt

📗 How To Use

Using Portable Version (Windows 10/11 AMD64)

Step Description
#1 download and unzip 3qtxt-portable-1.0-x64.zip
#2 double-click launch.bat to use the app

Using JRE 8+

Step Description
#1 download 3qtxt-1.0-all.jar
#2 (optional) download icon.png
#3 run java -Duser.language=en -Dfile.encoding=UTF8 -jar 3qtxt-1.0-all.jar in CLI

📘 Build and Redistribution

Step Description
#1 clone the repository
#2 run gradew shadowJar to compile and build the fatjar from src/
#3 find the built binary: build/libs/3qtxt-1.0-all.jar

📕 Update Protobuf Config & Template

Step Description
#1 clone the repository
#2 setup protocol buffer compiler (or use protobuf/protoc.exe)
#3 modify protobuf/ThreeQuestionsTxtFileMsg.proto to meet your requirement
#4 run protoc.exe --java_out=.\ ThreeQuestionsTxtFileMsg.proto to generate java code
#5 override src/main/java/ThreeQuestionsTxtFileProtos.java with the generated one
#6 update the version of protobuf-java in build.gradle to algin with the protocol buffer compiler you use
#7 rebuild the whole project under src/