In: Computer Science
A company wants to transmit data over the telephone but is concerned that its phones could be tapped. All of the data are transmitted as four-digit integers. The company has asked you to write a program that encrypts the data so that it can be transmitted more securely. Your program should read a four-digit integer 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, swap the second digit with the fourth and print the encrypted integer. Your main duty for this assignment is creating an Encrypt class which includes Encrypt.h and Encrypt.cpp. After finishing the task you can use CISP400V10A2.cpp to test the Encrypt class.
The following is the Encrypt class specification.
1. The Encrypt class has an integer private data member 8 element array named digits. The first four elements (0 ~ 3) are to store the original 4 digits integer and the next four (4 ~ 7) are to store the encrypted data.
2. Encrypt class has several public member functions
a. An Encrypt constructor takes an integer of any digits and stores the last four digits. It encrypts the last four digits, stores the encrypted information, displays a call to the constructor information, and shows the original information and encrypted information. If the inputted number is less than or equal to 0 the integer is set to 9436.
b. A displayOriginalData function does not accept and return any data. It displays the first four elements of the private data member.
c. A storeData function takes an integer and does not return anything. It stores the last four digits of the passed in integer to the first 4 elements of the private data member, encrypts the data and store them in the last 4 elements of the private data member.
d. A displayEncryptedData function does not accept and return any data. It displays the last four elements of the private data member.
Please document the files(CISP.cpp, Encrypt.cpp and Encrypt.h)
Encrypt.h
#include
#include
using namespace std;
class Encrypt
{
int digits[8];
public:
Encrypt(int val);
void displayEncryptedData();
void storeData(int val);
void displayOriginalData();
void swap();
};
Encrypt.cpp
#include "Encrypt.h"
Encrypt::Encrypt(int val)
{
cout<<"Constructor called"<
val = 9436;
storeData(val);
displayOriginalData();
displayEncryptedData();
}
void Encrypt::displayEncryptedData()
{
cout<<"Encrypted Data"<
{
cout<
cout<
void Encrypt::storeData(int val)
{
string str =
to_string(val).substr(to_string(val).length()-4,4);
int num = stoi(str);
int i=3;
while(num>0)
{
digits[i] = num%10;
num = num/10;
i--;
}
for(int j=0,k=4;k<8;k++,j++)
{
digits[k] = (digits[j]+7)%10;
}
swap();
}
void Encrypt::swap()
{
int temp = digits[4];
digits[4] = digits[6];
digits[6] = temp;
temp = digits[5];
digits[5] = digits[7];
digits[7] = temp;
}
void Encrypt::displayOriginalData()
{
cout<<"Original Data"<
{
cout<
cout<
int main()
{
Encrypt e(12345678);
return 0;
}
output