源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-01-19 20:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java实现的RC4加密解密算法示例
本文实例讲述了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));
}

[b]PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:[/b] [b]MD5在线加密工具: [/b][url=http://tools.1sucai.cn/password/CreateMD5Password]http://tools.1sucai.cn/password/CreateMD5Password[/url] [b]迅雷、快车、旋风URL加密/解密工具: [/b][url=http://tools.1sucai.cn/password/urlrethunder]http://tools.1sucai.cn/password/urlrethunder[/url] [b]在线散列/哈希算法加密工具: [/b][url=http://tools.1sucai.cn/password/hash_encrypt]http://tools.1sucai.cn/password/hash_encrypt[/url] [b]在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具: [/b][url=http://tools.1sucai.cn/password/hash_md5_sha]http://tools.1sucai.cn/password/hash_md5_sha[/url] [b]在线sha1/sha224/sha256/sha384/sha512加密工具: [/b][url=http://tools.1sucai.cn/password/sha_encode]http://tools.1sucai.cn/password/sha_encode[/url] 更多关于java相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/949.htm]Java数学运算技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/632.htm]Java数据结构与算法教程[/url]》、《[url=http://www.1sucai.cn/Special/947.htm]Java字符与字符串操作技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/869.htm]java日期与时间操作技巧汇总[/url]》、《[url=http://www.1sucai.cn/Special/830.htm]Java操作DOM节点技巧总结[/url]》和《[url=http://www.1sucai.cn/Special/682.htm]Java缓存操作技巧汇总[/url]》 希望本文所述对大家java程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部