当前位置: 首页 » 产品 » 出口外贸 » 正文

java实现的RC4加密解密算法详解

放大字体  缩小字体 发布日期: 2025-04-07 21:08   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:27
核心提示:有一个项目,需要解析一个用户提供的rc4加密后的文件,特意搜索整理了一个Java 版本的RC4加解密算法。public static String Hlov

有一个项目,需要解析一个用户提供的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)); }

内容来源:
 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
    行业协会  备案信息  可信网站