One Bit Parity
Sender Side:
package OneBit;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class sender {
public static void main(String[] args) throws IOException {
File f=new File("src/OneBit/msg.txt");
FileWriter fw=new FileWriter(f);
BufferedWriter bw=new BufferedWriter(fw);
Scanner s=new Scanner(System.in);
System.out.println("Enter msg:");
String msg=s.nextLine();
char[]ch=msg.toCharArray();
String bin[]=new String[ch.length];
int rBit=0;
for (int i = 0; i < msg.length(); i++) {
bin[i]=Integer.toBinaryString(ch[i]);
bw.write(bin[i]);
bw.newLine();
char binn[]=bin[i].toCharArray();
for (int j = 0; j < binn.length; j++) {
rBit=rBit^Integer.parseInt(binn[j]+"");
}
}
bw.write(rBit+"");
bw.flush();
bw.close();fw.close();
}
}
run:
Enter msg:
smit shah
BUILD SUCCESSFUL (total time: 6 seconds)
FILE:
1110011
1101101
1101001
1110100
100000
1110011
1101000
1100001
1101000
1
Receiver Side:
package OneBit;
import java.io.*;
public class Receiver {
public static void main(String[] args) throws FileNotFoundException, IOException {
File f=new File("src/OneBit/msg.txt");
FileReader fr=new FileReader(f);
BufferedReader br=new BufferedReader(fr);
StringBuilder msg=new StringBuilder();
String temp;
int rBit=0;
while((temp=br.readLine())!=null)
{
char[]bin=temp.toCharArray();
for (int i = 0; i < bin.length; i++) {
rBit=rBit^Integer.parseInt(bin[i]+"");
}
int ascii=Integer.parseInt(temp,2);
msg.append((char)ascii);
}
if(rBit==0)
{
msg.deleteCharAt(msg.length()-1);
System.out.println("Your Message is:"+msg);
}
else
{
System.out.println("Your Data is Currupted");
}
}
}
run:
Your Message is:smit shah
BUILD SUCCESSFUL (total time: 0 seconds)
Comments
Post a Comment