/*
*
* All rights reserved.
*
* Contributors:
* teng_srong - initial API and implementation
*
*/
package com.test.spell.rc4;
/**
*
* 描述:<p> 功能描述,该部分必须以中文句号结尾。</p>
* 创建日期:2012-6-27 上午9:50:51<br>
* @author:teng_srong<br>
* @update:$Date$<br>
* @version:$Revision$<br>
* @since 版本号,用来指定该类是从整个项目的哪个版本开始加入到项目中的
*/
public class Rc4Message {
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);
}
/**
* @param args
*/
public static void main(String[] args) {
String inputStr = "我们的一个项目,需要解析一个用户提供的rc4加密后的文件,特意搜索整理了一个java 版本的RC4加解密算法";
String key = "123456789";
//打印加密前的字符串
System.out.println("加密前:"+inputStr);
String str = HloveyRC4(inputStr,key);
//打印加密后的字符串
System.out.println("加密后:" + str);
//打印解密后的字符串
System.out.println("解密后:" + HloveyRC4(str,key));
}
}
分享到:
相关推荐
"java实现的RC4加密解密算法示例" RC4加密解密算法是Symmetric-key block cipher的一种,使用同一个密钥进行加密和解密。java实现的RC4加密解密算法可以通过以下步骤实现: 1. 初始化数组:创建一个大小为256的...
RC4加解密是易语言环境中实现RC4算法的程序代码,用于对数据进行加密和解密操作,确保信息安全。 RC4算法的工作原理: 1. 密钥扩展:RC4算法首先通过一个密钥(通常为字节序列)生成一个长度为256的密钥流,这个...
RC4加解密 用java实现
纯python实现的RC4加解密,不依赖任何第三方库,兼容python2和python3,支持中文加解密
在C#编程环境中,RC4被用于数据的加密和解密,尤其是在.NET框架下,它提供了一种简单且高效的方式来保护敏感信息。本文将深入探讨C#中RC4加密解密的原理、实现方式以及如何使用提供的工具。 RC4算法基于一个称为...
在给定的程序"RC4En-Decrypt.exe"和源代码文件"RC4En-Decrypt.cpp"中,我们可以预期开发者实现了一个简单的命令行工具,允许用户对文件进行RC4加解密操作。用户可能需要提供一个密钥,该密钥用于生成RC4的密钥流。...
在这个名为"易语言源码易语言RC4加解密源码.rar"的压缩包中,我们很显然会找到使用易语言实现的RC4加解密算法的源代码。 RC4算法的基本原理是通过一个称为“密钥流生成器”(Key Stream Generator)的过程,生成一...
RC4加解密算法的例程,用vs2005 C#实现,代码中有部分注释,外部有操作文档,唯一的不足是工程文件命名为RSA,但该例程实现的的确是RC4算法!-RC4 encryption algorithm routines, using vs2005 C# Realize, the ...
一个操作简单,代码注释移动的rc4加解密算法的C++实现,你只需要输入要加密数据的文件路径,就会自动生成加密或解密之后的文件。 我想重要的是这段程序可以很好的修改和移植,只需要看懂清晰的注释就能把模块进行...
经典的RC4加密解密,加密解密是相同的,再次加密既解密
使用RC4加密算法对文件进行加密或者解密,C语言实现
在易语言中实现RC4加密解密,可以帮助开发者保护数据安全,防止信息被未经授权的用户访问。 首先,我们需要了解RC4算法的基本原理。RC4算法基于一个名为“密钥流生成器”(Key Stream Generator, KSA)和“伪随机...
易语言RC4加密解密是针对易语言编程环境中实现的一种数据加密与解密技术,主要应用于保护敏感信息的安全。RC4是一种流密码算法,由Ron Rivest在1987年设计,因其简单且快速的特性,被广泛用于网络通信和软件安全。...
"RC4加解密.rar"可能包含的是易语言编写的RC4加密和解密的源代码示例。易语言是中国本土的一种编程语言,以其简单直观的语法而著称,特别适合初学者学习。 RC4算法的核心是通过一个名为“状态”的256字节的数组和两...
*网上很多RC4算法在用的时候,都会出现「加密然后立即在内存中解密」可以,但先把加密后的密文写入文件再读取解密就失败的情况。这段代码没有这种情况。 *采用了重载函数,我用了String加密解密,成功。
这些源代码提供了学习和研究RC4算法的良好实例,对于理解RC4的工作机制和加密解密过程非常有帮助。无论你是想了解RC4算法本身,还是希望在特定的编程环境中使用RC4,都可以从这些源代码中找到参考和启示。同时,这也...
### RC4加密解密算法详解 #### 一、引言 RC4(Rivest Cipher 4)是一种流加密算法,由RSA数据安全公司的Ron Rivest于1987年设计。RC4算法因其简单高效的特点,在过去广泛应用于各种安全通信场景中,包括但不限于...
并且密钥长度是可变的,可变范围为1-256字节(8-2048比特),在现在技术支持的前提下,当密钥长度为128比特时,用暴力法搜索密钥已经不太可行,所以能够预见RC4的密钥范围任然能够在今后相当长的时间里抵御暴力搜索...
`RC4加解密.exe`是编译后的可执行程序,可以直接用于对文件进行RC4加密和解密操作。用户可能需要输入待处理文件的路径,以及密钥信息,然后程序将读取文件内容,执行RC4加解密,并将结果保存到新的文件中。 需要...
include('class.rc4crypt.php');...$rc4 = new Crypt_RC4(); $rc4 -> setKey('1bb762f7ce24ceee'); $text = 'hahaha'; echo $x = $rc4->encrypt($text);//加密 echo ' '; echo $rc4->decrypt( $x) ;//解密