Encode your text while typing without the need to press any button. Change anything (cipher, key, chars/words delimiter or shape format) and the changes will be reflected instantly.
Customize your output depending on your preferences. Change the chars/words delimiters and their spacing or the fill and stroke of shapes.
Export audio output for your Morse encoding with different speeds (slow - medium - fast).
Choose the theme that makes you more comfortable.
Choose whatever size you like. You can either use it in full screen or side by side with any other window.
Designed with Google’s material design standards using Material Design In XAML Toolkit.
Readable and easy to maintain OOP code using XAML and C#. Adding Ciphers is so easy, anyone can add them even if he doesn’t know how to code! Just add the cipher type you want, from the types below, to ciphers array and the rest is done for you.
Check out the following pre-declared ciphers from that link.
// 1] Normal Cipher:
new Cipher
{
DisplayName = "اسم_الشفرة", // Add Cipher Name Here (displayed in Ciphers ComboBox)
HasKeys = true, // Enables Keys ComboBox
KeyWeight = n, // Offsets Keys with the given value (n) where: 0 < n < 28
IsAudible = true, // Enables Audio Button
HasShapes = true, // Enables Shape Format Button
CipherCharacters = {"x", "x", "x", "x", "x", "x", "x", // Add Cipher body Here.
"x", "x", "x", "x", "x", "x", "x", // Must contain 28 values,
"x", "x", "x", "x", "x", "x", "x", // written in an array form
"x", "x", "x", "x", "x", "x", "x"}
},
// 2] Overloaded Cipher:
new Cipher
{
DisplayName = "اسم_الشفرة", // Add Cipher Name Here (displayed in Ciphers ComboBox)
HasOverloads = true, // Don't declare any key-related property or CipherCharacters property
Overloads = new List<Cipher> // Overloads appear in Keys ComboBox, and are initialized as a list
{
new Cipher
{
DisplayName = "اسم 1", // First overload name (displayed in Keys ComboBox)
CipherCharacters = {"x", "x", "x", "x", "x", "x", "x", // Add First overload body Here.
"x", "x", "x", "x", "x", "x", "x", // Must contain 28 values,
"x", "x", "x", "x", "x", "x", "x", // written in an array form
"x", "x", "x", "x", "x", "x", "x"}
},
new Cipher
{
DisplayName = "اسم 2", // Second overload name (displayed in Keys ComboBox)
CipherCharacters = {"x", "x", "x", "x", "x", "x", "x", // Add Second overload body Here.
"x", "x", "x", "x", "x", "x", "x", // Must contain 28 values,
"x", "x", "x", "x", "x", "x", "x", // written in an array form
"x", "x", "x", "x", "x", "x", "x"}
}
}
},
Source code is available on Github. Open for contributions and improvements.
The feature you are searching for isn’t mentioned?
Request your desired feature now!