欢迎来到山村网

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

2019-03-09 12:43:52浏览:521 来源:山村网   
核心摘要:本文实例讲述了java实现的RC4加密解密算法。分享给大家供大家参考,具体如下:有一个项目,需要解析一个用户提供的rc4加密后的文

本文实例讲述了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));}
(责任编辑:豆豆)
下一篇:

XP系统不能自动更新的解决方法

上一篇:

无线网卡怎么设置?

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com