java实现的RC4加密解密算法示例
程序员文章站
2023-12-18 23:37:04
本文实例讲述了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程序设计有所帮助。