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

RC4加密解密java算法相关推荐

  1. java rc4_java实现的RC4加密解密算法示例

    本文实例讲述了java实现的RC4加密解密算法.分享给大家供大家参考,具体如下: 有一个项目,需要解析一个用户提供的rc4加密后的文件,特意搜索整理了一个Java 版本的RC4加解密算法. publi ...

  2. java实现rc4密码_java实现RC4加密解密的实例教程

    这篇文章主要介绍了java实现的RC4加密解密算法,结合具体实例形式分析了java RC4加密解密算法的实现与使用技巧,需要的朋友可以参考下 本文实例讲述了java实现的RC4加密解密算法.分享给大家 ...

  3. RC4加密解密算法原理及实现对文件的加解密

    本文简单实现了RC4算法对于文件的加解密,并已经验证成功.同时实现了对RC4算法加解密较大文件的测速 RC4加密解密算法的原理: 首先,通过我的理解,RC4算法所依赖的最根本原理是:对明文使用同一个密 ...

  4. RC4加密解密算法123

           RC4是一种对称密码算法,它属于对称密码算法中的序列密码(streamcipher,也称为流密码),它是可变密钥长度,面向字节操作的流密码. RC4是流密码streamcipher中的一 ...

  5. python 加密解密 rc4_python实现rc4加密解密,base64输出

    这里将告诉您python实现rc4加密解密,base64输出,具体实现方法:from Crypto.Cipher import ARC4 as rc4cipher import base64 def ...

  6. 凯撒密码加密解密——Java代码(密码学)

    凯撒密码加密解密--Java代码(密码学) 凯撒密码: 恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文 ...

  7. 基于JAVA的RC4加密解密算法循环实现

    RC4算法是一种对称加密算法,所谓对称加密,就是加密和解密的过程是一样的,加密和解密均采用同一把密钥.RC4算法的特点是算法简单,执行速度快安全性比较高并且密钥长度是可变的,可变范围为1-256字节( ...

  8. 异或加密的java算法_Java使用异或运算实现简单的加密解密算法实例代码

    Java简单的加密解密算法,使用异或运算 实例1: package cn.std.util; import java.nio.charset.Charset; public class DeEnCod ...

  9. Java常用加密解密核心算法

    加密算法 最近面试被问到了一些常见的加密解密算法,特此整理记录. 加密算法我们整体可以分为:可逆加密算法和不可逆加密算法.可逆加密算法又可以分为:对称加密算法和非对称加密算法. 一.不可逆加密算法 常 ...

最新文章

  1. basicLSTMCELL() num_units参数代表了LSTM输出向量的维数
  2. Android Studio导入 jar包的方法
  3. Sequelize 中文文档 v4 - Querying - 查询
  4. C语言试题四十四之移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。
  5. 如何在Java中获得类似于C的性能
  6. android EditText光标位置,光标样式,EditText限制输入内容,软键盘遮挡的EditText,搜索框,限制输入表情
  7. html 冒泡事件拦截,Js 冒泡事件阻止
  8. 【Java】如何较好地将int转化成String
  9. Jquery 同个类名中点击的显示其他隐藏的效果
  10. Fiddler抓取HTTPS最全(强)攻略!
  11. Oracle中的用户创建和权限的分配
  12. opencv中的Mat、CvMat以及IplImage介绍以及三者之间的转换
  13. 天津东软实训第八天------倒排索引
  14. C#模拟GetPOST提交表单(一)--HttpWebRequest以及HttpWebResponse --WebClient,restsharp
  15. ensp华为数通远程登录配置
  16. ANSYS——网格划分的不同方法以及GUI模块的操作(自由网格、映射网格、扫掠、拖拉)
  17. 华硕X370 Pro更新BIOS后黑屏自救记录
  18. 【推荐】阿里云主机accesskey利用工具
  19. 5个好用的Excel技巧,一秒钟完成一个功能
  20. mysql组复制(MGR)——部署

热门文章

  1. 【12图】你管这破玩意叫Pulsar
  2. Kubernetes中分布式存储Rook-Ceph部署快速演练
  3. 用重构指导Clean Code(二):依恋情结和switch语句
  4. 你知道技术委员会吗?嗯,一个既重要却又鸡肋的神秘组织
  5. opencv +数字识别
  6. 程序员自家种水果,新鲜包邮配送!
  7. 领域驱动设计,让程序员心中有码(八)
  8. .NET Core 3.0 webapi集成Swagger 5.0
  9. 听说,霸都.NET技术社区准备搞线下聚会了?
  10. 【NET CORE微服务一条龙应用】第二章 配置中心使用