`

rc4加解密

阅读更多
/*	
 * 
 * All rights reserved.
 *			 
 * Contributors:
 *    teng_srong - initial API and implementation
 * 
 */

package com.test.spell.rc4;

/**
 * 
 * 描述:<p>&nbsp;&nbsp;&nbsp;&nbsp;功能描述,该部分必须以中文句号结尾。</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加密解密算法示例

    "java实现的RC4加密解密算法示例" RC4加密解密算法是Symmetric-key block cipher的一种,使用同一个密钥进行加密和解密。java实现的RC4加密解密算法可以通过以下步骤实现: 1. 初始化数组:创建一个大小为256的...

    易语言RC4加解密

    RC4加解密是易语言环境中实现RC4算法的程序代码,用于对数据进行加密和解密操作,确保信息安全。 RC4算法的工作原理: 1. 密钥扩展:RC4算法首先通过一个密钥(通常为字节序列)生成一个长度为256的密钥流,这个...

    RC4加解密

    RC4加解密 用java实现

    纯python实现的RC4加解密

    纯python实现的RC4加解密,不依赖任何第三方库,兼容python2和python3,支持中文加解密

    【原创】C# RC4 加密解密工具

    在C#编程环境中,RC4被用于数据的加密和解密,尤其是在.NET框架下,它提供了一种简单且高效的方式来保护敏感信息。本文将深入探讨C#中RC4加密解密的原理、实现方式以及如何使用提供的工具。 RC4算法基于一个称为...

    简单的RC4加解密程序

    在给定的程序"RC4En-Decrypt.exe"和源代码文件"RC4En-Decrypt.cpp"中,我们可以预期开发者实现了一个简单的命令行工具,允许用户对文件进行RC4加解密操作。用户可能需要提供一个密钥,该密钥用于生成RC4的密钥流。...

    易语言源码易语言RC4加解密源码.rar

    在这个名为"易语言源码易语言RC4加解密源码.rar"的压缩包中,我们很显然会找到使用易语言实现的RC4加解密算法的源代码。 RC4算法的基本原理是通过一个称为“密钥流生成器”(Key Stream Generator)的过程,生成一...

    rc4加解密算法

    RC4加解密算法的例程,用vs2005 C#实现,代码中有部分注释,外部有操作文档,唯一的不足是工程文件命名为RSA,但该例程实现的的确是RC4算法!-RC4 encryption algorithm routines, using vs2005 C# Realize, the ...

    rc4加解密算法.cpp

    一个操作简单,代码注释移动的rc4加解密算法的C++实现,你只需要输入要加密数据的文件路径,就会自动生成加密或解密之后的文件。 我想重要的是这段程序可以很好的修改和移植,只需要看懂清晰的注释就能把模块进行...

    RC4加密解密

    经典的RC4加密解密,加密解密是相同的,再次加密既解密

    RC4加解密 C语言实现

    使用RC4加密算法对文件进行加密或者解密,C语言实现

    易语言RC4加密解密源码

    在易语言中实现RC4加密解密,可以帮助开发者保护数据安全,防止信息被未经授权的用户访问。 首先,我们需要了解RC4算法的基本原理。RC4算法基于一个名为“密钥流生成器”(Key Stream Generator, KSA)和“伪随机...

    易语言RC4加密解密

    易语言RC4加密解密是针对易语言编程环境中实现的一种数据加密与解密技术,主要应用于保护敏感信息的安全。RC4是一种流密码算法,由Ron Rivest在1987年设计,因其简单且快速的特性,被广泛用于网络通信和软件安全。...

    RC4加解密.rar

    "RC4加解密.rar"可能包含的是易语言编写的RC4加密和解密的源代码示例。易语言是中国本土的一种编程语言,以其简单直观的语法而著称,特别适合初学者学习。 RC4算法的核心是通过一个名为“状态”的256字节的数组和两...

    RC4加解密_RC4加解密_

    `RC4加解密.exe`是编译后的可执行程序,可以直接用于对文件进行RC4加密和解密操作。用户可能需要输入待处理文件的路径,以及密钥信息,然后程序将读取文件内容,执行RC4加解密,并将结果保存到新的文件中。 需要...

    本人根据RC4加密解密算法原理自己实现的RC4加密解密程序_RC4加密解密_信息安全_加密解密_密码学

    这些源代码提供了学习和研究RC4算法的良好实例,对于理解RC4的工作机制和加密解密过程非常有帮助。无论你是想了解RC4算法本身,还是希望在特定的编程环境中使用RC4,都可以从这些源代码中找到参考和启示。同时,这也...

    RC4 加密解密算法

    ### RC4加密解密算法详解 #### 一、引言 RC4(Rivest Cipher 4)是一种流加密算法,由RSA数据安全公司的Ron Rivest于1987年设计。RC4算法因其简单高效的特点,在过去广泛应用于各种安全通信场景中,包括但不限于...

    RC4加密解密工具

    并且密钥长度是可变的,可变范围为1-256字节(8-2048比特),在现在技术支持的前提下,当密钥长度为128比特时,用暴力法搜索密钥已经不太可行,所以能够预见RC4的密钥范围任然能够在今后相当长的时间里抵御暴力搜索...

    php rc4加解密类

    include('class.rc4crypt.php');...$rc4 = new Crypt_RC4(); $rc4 -&gt; setKey('1bb762f7ce24ceee'); $text = 'hahaha'; echo $x = $rc4-&gt;encrypt($text);//加密 echo ' '; echo $rc4-&gt;decrypt( $x) ;//解密

    RC4加密解密.rar

    需要注意的是,虽然易语言RC4加密解密源码可以作为一个学习工具,但实际应用中,由于RC4的安全性问题,不建议再使用RC4进行敏感数据的加密。对于安全性要求较高的场景,应选择更安全的加密算法,如AES、ChaCha20等,...

Global site tag (gtag.js) - Google Analytics