⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rc4.java

📁 Rc4 加密算法 java源码 Rc4 加密算法 java源码
💻 JAVA
字号:
import java.io.*;

public class RC4
{
	
	/*public RC4()
	{
		
	}*/
	
	
	public static void main(String[] args)
	{
		
		String aInput = "Fuck you fuck fuck fuck";
		String aKey = "shitdsgdsfgdsgsdfgsdfg";
		//System.out.println(new Integer(aKey));
		System.out.println(RunRC4(aInput,aKey));
		System.out.println(RunRC4(RunRC4(aInput,aKey),aKey));
	}
	
	public static String RunRC4(String aInput,String aKey)
	{
		int[] iS = new int[256];
		byte[] iK = new byte[256];
		
		for (int i=0;i<256;i++)
			iS[i]=i;
			
		int j = 1;
		
		for (short i= 0;i<256;i++)
		{
			iK[i]=(byte)aKey.charAt((i % aKey.length()));
		}
		
		j=0;
		
		for (int i=0;i<255;i++)
		{
			j=(j+iS[i]+iK[i]) % 256;
			int temp = iS[i];
			iS[i]=iS[j];
			iS[j]=temp;
		}
	
	
		int i=0;
		j=0;
		String rOutput="";
		short iMask = 15;
		char[] iInputChar = aInput.toCharArray();
		char[] iOutputChar = new char[iInputChar.length];
		for(short x = 0;x<iInputChar.length;x++)
		{
			i = (i+1) % 256;
			j = (j+iS[i]) % 256;
			int temp = iS[i];
			iS[i]=iS[j];
			iS[j]=temp;
			int t = (iS[i]+(iS[j] % 256)) % 256;
			int iY = iS[t];
			char iCY = (char)iY;
			iOutputChar[x] =(char)( iInputChar[x] ^ iCY) ;	
		}
		
		return new String(iOutputChar);
		
				
	}
	


}

⌨️ 快捷键说明

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