我们的一个项目,需要解析一个用户提供的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加密解密算法,结合具体实例形式分析了java RC4加密解密算法的实现与使用技巧,需要的朋友可以参考下
*网上很多RC4算法在用的时候,都会出现「加密然后立即在内存中解密」可以,但先把加密后的密文写入文件再读取解密就失败的情况。这段代码没有这种情况。 *采用了重载函数,我用了String加密解密,成功。
rc4的c++算法实现,包含加密解密过程的完整代码,简单的实现了rc4
本人根据RC4加密解密算法原理自己实现的RC4加密解密程序 C Python Java Pascal Basic Perl Ruby Jsp Php 九种编程源码
有兴趣的朋友可以下载,这里有RC6加密解密算法,
RC4加解密算法的例程,用vs2005 C#实现,代码中有部分注释,外部有操作文档,唯一的不足是工程文件命名为RSA,但该例程实现的的确是RC4算法!-RC4 encryption algorithm routines, using vs2005 C# Realize, the ...
RC4加密解密算法
详细的解释了RC4算法的全过程,对想了解这方面内容的有帮助。
进度显示函数,置进度显示指针,DecryptByte,EncryptString,DecryptString,EncryptByte,Let_Key,CopyMem,CopyMem_IntArr
采用c++实现RC4加密解密算法,该代码可以加密解密任意格式的文件
用c++实现的rc5 算法的加密解密源代码
这是一个用java语言编写的小型系统,用于实现RC4算法的加密和解密
收集一些运行于VB环境的Blowfish Gost RC4等加密解密算法示例,都是一些比较常用且经典的VB6加密解密算法示例,同时适用于VB.NET编程,一共有将近10种的算法集中到了一个程序中演示,你在加密测试的时候可以选择任一...
C4算法的特点是算法简单,执行速度快。并且密钥长度是可变的,可变范围为1-256字节(8-2048比特),在现在技术支持的前提下,当密钥长度为128...实际上,现在也没有找到对于128bit密钥长度的RC4加密算法的有效攻击方法。
使用RC4加密算法对文件进行加密或者解密,C语言实现
RC4加密算法的Java实现代码 简单清楚,不需要复杂的调试
C++实现RC4加密算法,以2进制形式输出密钥流和密文到控制台并将结果记录至.txt文件。 用到KSA PRGA算法,最后用异或进行加密/解密。
RC4算法 java的 RC4算法 java的 RC4算法 java的
RC5加解密算法的C#实现,详细的事例,让你轻松搞定,还等什么