本文实例讲述了java实现的rc4加密解密算法。分享给大家供大家参考,具体如下:
有一个项目,需要解析一个用户提供的rc4加密后的文件,特意搜索整理了一个java 版本的rc4加解密算法。
public static string hloveyrc4(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; 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); }
加密和解密都用这一个方法。也就是说参数string ainput 可以传一个明文,也可以传一个加密后的字符串,程序会自动的识别。然后执行加解密的响应操作。
使用例子如下:
public static void main(string[] args) { string inputstr = "做个好男人"; string key = "abcdefg"; string str = hloveyrc4(inputstr,key); //打印加密后的字符串 system.out.println(str); //打印解密后的字符串 system.out.println(hloveyrc4(str,key)); }
以上就是java实现的rc4加密解密算法实例详解的详细内容。
