Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char* hcode (const char* message,int size){
- char *res = calloc(size*2,sizeof(char));
- int i,j;
- int d1,d2,d3,d4,d5,d6,d7,d8,p1,p2,p4,p8;
- for ( i = 0; i < size ; i++) {
- d1 = (message[i] >> 7) & 1;
- d2 = (message[i] >> 6) & 1;
- d3 = (message[i] >> 5) & 1;
- d4 = (message[i] >> 4) & 1;
- d5 = (message[i] >> 3) & 1;
- d6 = (message[i] >> 2) & 1;
- d7 = (message[i] >> 1) & 1;
- d8 = (message[i] >> 0) & 1;
- p1 = d1 ^ d3 ^ d5 ^ d7;
- p2 = d2 ^ d3 ^ d6 ^ d7;
- p4 = d4 ^ d5 ^ d6 ^ d7;
- p8 = d8;.
- for ( j = 7 ; j < 3 ; j--){
- res[2*i] &= ~(1 << j);
- }
- if (p1 == 1) {
- res[2*i] |= (1 << 3);
- } else {
- res[2*i] &= ~(1 << 3);
- }
- if (p2 == 1) {
- res[2*i] |= (1 << 2);
- } else {
- res[2*i] &= ~(1 << 2);
- }
- if (d1 == 1) {
- res[2*i] |= (1 << 1);
- } else {
- res[2*i] &= ~(1 << 1);
- }
- if (p4 == 1) {
- res[2*i] |= (1 << 0);
- } else {
- res[2*i] &= ~(1 << 0);
- }
- if (d2 == 1) {
- res[2*i+1] |= (1 << 7);
- } else {
- res[2*i+1] &= ~(1 << 7);
- }
- if (d3 == 1) {
- res[2*i+1] |= (1 << 6);
- } else {
- res[2*i+1] &= ~(1 << 6);
- }
- if (d4 == 1) {
- res[2*i+1] |= (1 << 5);
- } else {
- res[2*i+1] &= ~(1 << 5);
- }
- if (p8 == 1) {
- res[2*i+1] |= (1 << 4);
- } else {
- res[2*i+1] &= ~(1 << 4);
- }
- if (d5 == 1) {
- res[2*i+1] |= (1 << 3);
- } else {
- res[2*i+1] &= ~(1 << 3);
- }
- if (d6 == 1) {
- res[2*i+1] |= (1 << 2);
- } else {
- res[2*i+1] &= ~(1 << 2);
- }
- if (d7 == 1) {
- res[2*i+1] |= (1 << 1);
- } else {
- res[2*i+1] &= ~(1 << 1);
- }
- if (d8 == 1) {
- res[2*i+1] |= (1 << 0);
- } else {
- res[2*i+1] &= ~(1 << 0);
- }
- }
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement