A company wants to transmit data over the telephone, but it
is concerned that its phones may be tapped. All of its data
is transmitted as four-digit integers. It has asked you to
write a program that will encrypt its data so that the data
may be transmitted more securely. Your script should read a
four digit integer entered by the user in a prompt dialog
and encrypt it as follows: Replace each digit by (the sum
of that digit plus 7) modulus 10. Then swap the first digit
with the third, and swap the second digit with the fourth.
Then output XHTML text that displays the encrypted
integer.
Answer Posted / hafiz waqas
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner myScanner=new Scanner(System.in);
boolean flag = true; //check value is 4 digit or not..
int beforeIncryption = 0;//take plain text
int temp; // for processing plain text
int incryptValue; // for storing after encryption process
//Check value is 4 digit or not
while(flag){
System.out.println("Please Enter exactly 4 digit enteger ");
beforeIncryption = myScanner.nextInt();
if( beforeIncryption-1000 >= 0 && beforeIncryption-1000
<= 8999)
flag=false;
}
temp = beforeIncryption;
int v1 , v2 , v3,v4;// v1 contain 1st digit,v2 contain 2nd
digit and so on...
//take separate digit and apply encryption process
v4=temp%10;
v4+=7;
v4%=10;
temp/=10;
v3=temp%10;
v3+=7;
v3%=10;
temp/=10;
v2=temp%10;
v2+=7;
v2%=10;
temp/=10;
v1=temp%10;
v1+=7;
v1%=10;
//swapping values 1st digit with 3rd digit and 2nd with
4th....
temp=v1;
v1=v3;
v3=temp;
temp=v2;
v2=v4;
v4=temp;
incryptValue = v1*1000 + v2*100 + v3*10 + v4*1;// combine
4 separate digit into 1 number
System.out.println("Encrypted data is
"+incryptValue);//display encryption result
//Program for decryption........
int myIncrypt;//take encrypted input from user
System.out.println("Enter encrypted data ");//prompt for user
myIncrypt=myScanner.nextInt();//take value for apply
decryption process
int dv1,dv2,dv3,dv4,decryptValue;
//separate 1 four digit number into 4 separate 1 digit number
dv4=myIncrypt%10;
myIncrypt/=10;
dv3=myIncrypt%10;
myIncrypt/=10;
dv2=myIncrypt%10;
myIncrypt/=10;
dv1=myIncrypt%10;
myIncrypt/=10;
//swap values
temp=dv1;
dv1=dv3;
dv3=temp;
temp=dv2;
dv2=dv4;
dv4=temp;
//apply decryption process
dv1+=10;
dv1-=7;
dv1%=10;
dv2+=10;
dv2-=7;
dv2%=10;
dv3+=10;
dv3-=7;
dv3%=10;
dv4+=10;
dv4-=7;
dv4%=10;
//combine result
decryptValue=dv1*1000+dv2*100+dv3*10+dv4*1;
//display result
System.out.println("decrypted data is"+decryptValue);
}
}
| Is This Answer Correct ? | 25 Yes | 15 No |
Post New Answer View All Answers
What is Mointer in Operating System?
please explane me clusterd and non clusterd
which is better php,asp.net,jsp? and why?
describe how your code can determine if the user entered an input box value or click the cancel button?
How many codes are used when u design a Pressure Vessel
What is HPLC ? and define it.
explain different access specifiers in class
Please send me the ongc old question papers
difference between arrays and linked list in c language?
searching a B-tree indexed tree compared to B+ tree is slow..True or false
What is the pattern for HAL Online-exam?
what is the different between view and materialized view in oracle DBA?
what is the concept of c++ class
Is there aptitute question will be asked in NIC exam ??? If yes how many questions will be asked??
how do we calculate physical address if logical address is given in the question?