Your country is at war and your enemies are using a secret code to communicate with one another. You have managed to intercept a message that reads as follows:
:mmZ\dxZmx] Zpgy
The message is obviously encrypted using the enemy’s secret code. You have just learned that their encryption method is based upon the ASCII code (see Appendix 7). Individual characters in a string are encoded using this system. For example, the character ‘A’ is encoded using the number 65 and ‘B’ is encoded using the number 66. Your enemy’s secret code takes each letter of the message and encrypts it as follows:
if (OriginalChar + Key > 126) then
EncryptedChar = 32 + ((OriginalChar +Key) − 127)
else
EncryptedChar = (OriginalChar + Key)
For example, if the enemy uses Key = 10 then the message “Hey” would initially be represented as:
Character ASCII code
H 72.
e 101
y 121
And “Hey” would be encrypted as:
Encrypted H − (72 + 10) − 02 − R in ASCII
Encrypted e − (101 + 10) – 111 − o in ASCII
Encrypted y = 32 + ((121 + 10) − 127) = 36 = $ in ASCII
Consequently, “Hey” would be transmitted as “Ro$.” Write a Java program that decrypts the intercepted message. You only know that the key used is a number between 1 and 100. You can assume that the original message consists entirely of ASCII codes that represent only printable characters. Your program should try to decode the message using all possible keys between 1 and 100. When you try the valid key, the message will make sense. For all other keys, the message will appear as gibberish. Since there are only 100 keys this would obviously be a pretty crummy encryption system. This
You will want to use charAt ().
Important: Note that the secret code has a \ so you will need to escape encode it by using \\ if you hard-code it in your program.
Want to see the full answer?
Check out a sample textbook solutionChapter 4 Solutions
Java: An Introduction to Problem Solving and Programming (7th Edition)
Additional Engineering Textbook Solutions
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Objects First with Java: A Practical Introduction Using BlueJ (6th Edition)
Starting Out With Visual Basic (8th Edition)
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
C Programming Language
C++ How to Program (10th Edition)
- One of your colleagues wanted to generate an List of strings using a random function, and since you are an expert in programming, your colleague asked you to create a program for him that generates random letters to make this desired string (I am a programmer) how can you help him to achieve this task ? Notes: string length must be lesser than 100 ascii code allowed range from 32 to 140 demonstrate a condition that fix the correct letter for each generation Ex: 1st gen im a prof$smagdgaer, 2st gen im a progsamger Final gen (Im a programmer) use ArrayList to make the random permutations print number of generation that makes the correct sentence * Options..arrow_forward3. Write a program that reads a string composed of alphabetical characters. Then form and print another string composed of the sorted characters alphabetically Input: bcda Output: abcd 4. This is a Java program that reads an integer and prints the digits in words in reverse Example: Input: 123 Output: three two onearrow_forward1. a Write a regular expression for the set of binary strings where each string has at least one pair of consecutive zeros. b. write the regular expression for the following, where sigma = (a,b): i. string of length at least 2 ii. string of length at most 2 iii. all string starting with a and ending with b iv. Even length Stringsarrow_forward
- for the following sequence of keys, do the following: MBX, EXB, GBX,…, ABX, AXB,…, QXB, YXB, … . 1. Fill in the 3 blanks with strings from your first, second, and third name.arrow_forwardPython: A bit shift is a procedure whereby the bits in a bit string are moved to the left or to the right. For example, we can shift the bits in the string 1011 two places to the left to produce the string 1110. Note that the leftmost two bits are wrapped around to the right side of the string in this operation. Define two scripts, shiftLeft.py and shiftRight.py, that expect a bit string as an input. The script shiftLeft shifts the bits in its input one place to the left, wrapping the leftmost bit to the rightmost position. The script shiftRight performs the inverse operation. Each script prints the resulting string.arrow_forwardpython Write a Pig Latin converter. We will use a simple version of Pig Latin. To convert a word to Pig Latin: If the first letter of a word is a consonant: remove the first letter and place that letter at the end of the word. Then, append the string "ay" to the end of the word. If the first letter of the word is a vowel (a, e, i, o, u): Simply append "way" to the end of the word. Treat the letter "y" as a consonant. Make sure all letters in the Pig Latin word are lowercase. Ex: If the input is: Sleep the output is: leepsay Ex: If the input is: apple the output is: applewayarrow_forward
- 6. A palindrome is a number or text phrase that reads the same backwards or forwards. For example, each of the following five-digit integers is a palindrome: 12321, 55555, 45554 and 11611. Write a program that reads a 5 digit integer and determines whether it is a palindrome. Hint: One way to do this is to use division (/) and modulus (%) operators to separate the number into individual digits.arrow_forwardQ5\A) The Amplitude Modulation (AM) is a technique used in communication for transmitting information via radio carrier wave. AM works by varying the amplitude of the transmitted signal in relation to the information being sent. The equations of the carrier signal, the original signal to send, and the modulated signal combining the two signals are respectively: VI-V sin (2nfet) V2=Vm sin (2πfmt) V3-V sin (2nfet)+ Vm sin (2nfmt)* sin (2πfet) Supposing that Vc =Vm=1, fc-20, fm-1. Write a MATLAB program that plots the three signals with single call, the graphs must be contain (desired title, axis labels, annotations, with symbols for color, style, and marker) for each graph. Use the step 0.0025 for the time.arrow_forwardPython The Dan Cipher works like this: shift the first lowercase character to the right by 1, the second lowercase character to the right by 2, and so on. Characters that are not lowercase characters are not changed. Write a program that takes a string and prints the result of applying the Dan Cipher.arrow_forward
- Write a program that asks the user to enter a string, and then converts that string to Morse code. Use hyphens for dashes and periods for dots. Morse Code Table Character Code Character Code Character Code Character Code space space 6 - . . . . G --. Q --.- comma --..-- 7 -- . . . H . . . . R .-. period .-.-.- 8 ---.. I .. S . . . question mark ..--.. 9 ----. J .--- T - 0 ----- A .- K -.- U ..- 1 .---- B - . . . L .-.. V . . . - 2 ..--- C -.-. M -- W .-- 3 . . . -- D -.. N -. X -..- 4 . . . .- E . O --- Y -.-- 5 . . . .. F ..-. P .--. Z --..arrow_forwardEncryption is done by adding relative distance in alphabets (a,b,c,d ...z) for each character in the string. There is no punctuation in the input string and all alphabets in the string are upper case. string n = "HELLO WORLD THIS ZEE WORLD"; string encrypt(string) string decrypt(string) Allowed to use C++/Python/JS Example Text: ABCDZ -> Encrypted Text: BDFHEarrow_forwardDetermine whether a string is a palindrome A palindrome is a string of characters that reads the same from right to left as it does from left to right, regardless of punctuation and spaces. Some famous English palindromes include the following “Madam, I’m Adam”, and “Never odd or even”. Of course, a simpler example would be the world “radar”.The specifications for this assignment are: Write and test a non-recursive solution in Java that determines whether a string is a palindrome •Your program should consist of at least two methods: (1) the main method (2) the method which performs the task of determining whether the specified string is a palindrome. You should name this method isPalindrome. You should name the class that contains your “main” method and the isPalindrome method FindPalindrome. •You must use a Stack and a Queue in your solution:Make sure to Write your own Stack and Queue based on the Vector in the Java API and use those in your solution. You should name those classes…arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning