最近项目用到rc4加密数据,对其实现过程做了基本调研,在此记录一下初步调研结果。
首先shell中man RC4,了解其基本函数调用方法,知道了怎么用,但对其实现原理还有疑问,继续调研
然后google一把ssl rc4,发现这篇文章讲得比较清楚了:
http://blog.youkuaiyun.com/k1988/article/details/4854369
本地写了几行代码对RC4的用法做测试,发现一个问题:
调用RC4_set_key()设置key后,先调用RC4()对一段测试数据做加密,然后用同样的key再次调用RC4()做解密,发现解密失败。。。
其实解密失败的情况上面贴出的那篇文章已经提到过,但自己不试验的话,不是很理解,更不清楚是什么原因导致解密失败
于是,继续google RC4的实现源码,在这里发现了一份实现: