igf.cpp

来自「一些密码的程序」· C++ 代码 · 共 50 行

CPP
50
字号
#include<stdio.h>
unsigned char a,ai,i,j;
unsigned char gf(char s,char d)
{ unsigned char m,n,r;
  for(n=1,m=s,r=0;n;n<<=1)
  { if(n&d) r^=m;
    if(!(128&m)) m<<=1;
    else m=(m<<=1)^27;
  }
  return r;
}
main()
{ scanf("%x",&a);
  j=gf(a,a) ;
  for(i=0,ai=1;i<7;i++)
  { ai=gf(ai,j);
    j=gf(j,j);
  }
  printf("\n%x %x %x",a,ai,gf(a,ai));
}



		  10110100
		     10001


		  10110100
			10
		   1101000
		 ^   11011
		   1110011
		 *      10
		  11100110
		 *	10
		  11001100
		 ^   11011
		  11010111
			10
		  10101110
		 ^   11011
		  10110101
		 ^10110100
                         1





⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?