Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <math.h>
#include <stdio.h>
static int count_streams = 0;
static long long charIn=0;
int arr[8]={255,254,253,252,251,250,249,248};
long long convert(int n);
long long toAscii(char c);
int convertBinInt(long long n);
void stegno(char c);
char stegnoDcrypt(int arr[]);
void main() {
stegno('c');
printf("%c \n",stegnoDcrypt(arr));
}
void stegno(char c){
charIn=toAscii(c);
int addNum;
for(int i=0; i<8;i++){
addNum=charIn%10;
charIn=(int)charIn/10;
arr[i]= convertBinInt((convert(arr[i])/10)*10+addNum);
printf("%d \n",arr[i]);
}
}
char stegnoDcrypt(int arr[]){
int decrpyt=0;
long long asciiNum=0;
int asciiVal=0;
//int arr[8]={255,254,253,252,251,250,249,248};
for(int i=7; i>=0;i--){
decrpyt=convert(arr[i])%10;
printf("%d\n",decrpyt);
asciiNum=asciiNum*10+decrpyt;
// ascii=> ascii*10 + lsb
}
asciiVal= convertBinInt(asciiNum);
printf("%d\n",asciiVal);
return (char)asciiVal;
}
long long convert(int n) {
long long bin = 0;
int rem, i = 1, step = 1;
while (n != 0) {
rem = n % 2;
n /= 2;
bin += rem * i;
i *= 10;
}
return bin;
}
int convertBinInt(long long n) {
int dec = 0, i = 0, rem;
while (n != 0) {
rem = n % 10;
n /= 10;
dec += rem * pow(2, i);
++i;
}
return dec;
}
long long toAscii(char c) {
int n=(int)c;
long long bin = convert(n);
return bin;
}