欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-15 17:00:58
本文实例讲述了java实现的rc4加密解密算法。分享给大家供大家参考,具体如下: 有一个项目,需要解析一个用户提供的rc4加密后的文件,特意搜索整理了一个java 版本的...

本文实例讲述了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));
}

ps:关于加密解密感兴趣的朋友还可以参考本站在线工具:

md5在线加密工具:
http://tools.jb51.net/password/createmd5password

迅雷、快车、旋风url加密/解密工具:

在线散列/哈希算法加密工具:

在线md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具:

在线sha1/sha224/sha256/sha384/sha512加密工具:

更多关于java相关内容感兴趣的读者可查看本站专题:《java数学运算技巧总结》、《java数据结构与算法教程》、《java字符与字符串操作技巧总结》、《java日期与时间操作技巧汇总》、《java操作dom节点技巧总结》和《java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

上一篇:

下一篇: