rc4.h

来自「Realization of RC4 algorithm」· C头文件 代码 · 共 46 行

H
46
字号
#include <iostream>
#include <tchar.h>
#include <fstream>
using namespace std;

class RC4
{
	char K[256];
	char S[256];
public:
	RC4(char buf[256]);
 	char GetNext();
};
RC4::RC4(char str[])
{	int i,j,l;
	strcpy(K,str);
	l=strlen(str);
	i=l-1;
	for (j=0; j<l, i<256; j++,i++) K[i]=K[j];
	for (i=0; i<256; i++)	S[i]=i;
	j=0;
	char buf;
	for (i=0; i<256; i++)
	{
		j=(j+S[i]+K[i])%256;
		buf=S[i];
		S[i]=S[j];
		S[j]=buf;
	}
}
char RC4::GetNext()
{
 int i=0,j=0;
 i=(i+1)%256;
 j=(j+S[i])%256;
 char buf;
 buf=S[i];
 S[i]=S[j];
 S[j]=buf;
 int t;
 t=(S[i]+S[j])%256;
 char k;
 k=S[t];
 return k;
}

⌨️ 快捷键说明

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