求高效稳定的VB加密解密2进制文件代码!解决方法

求高效稳定的VB加密解密2进制文件代码!
算法求高效稳定,不必要过于复杂的

我需要把加密的文件,放在资源文件里

LoadResData 后,解密在一个数组里···


有谁收藏好代码么??

------解决方案--------------------
Rnd 函数


返回一个包含随机数值的 Single。

语法

Rnd[(number)]

可选的 number 参数是 Single 或任何有效的数值表达式。

返回值

如果 number 的值是 Rnd 生成 
小于 0 每次都使用 number 作为随机数种子得到的相同结果。 (这里就是Rnd -5)
大于 0 序列中的下一个随机数。 
等于 0 最近生成的数。 
省略 序列中的下一个随机数。 

这是msdn 中关于让rnd 的帮助,这个帮助以前也是看不明白,现在算是明白了。
小于 0 每次都使用 number 作为随机数种子得到的相同结果,这句话没说完,
我接着说,以后每次调用Rnd()都会按照 “种子”规定的起点在 “随机表”中按照一定序列取值。
举个例子
sub test()
debug.print rnd
debug.print rnd
debug.print rnd
debug.print rnd
debug.print rnd
end sub
这个 是种子 等于 0 最近生成的数,当然每次都不一样。

Sub test2()
Debug.Print Rnd(-5) '这就是种子小于 0 了
Debug.Print Rnd
Debug.Print Rnd
Debug.Print Rnd
Debug.Print Rnd
Debug.Print "'再来 ,种子一样 后面的每一个随机数都和上面一样"
Debug.Print Rnd(-5)
Debug.Print Rnd
Debug.Print Rnd
Debug.Print Rnd
Debug.Print Rnd
End Sub



结论 :VB的随机数,其实是有一个随机表,这个表全世界的VB 都一样,根据种子性质,返回不同的序列。
在VBA VB6 VBS 中你运行这个test2 结果绝对和我的一样。
 .8383257 
 .2874333 
 .8604596 
 .8178332 
 .6038546 






------解决方案--------------------
探讨
http://support.microsoft.com/kb/231847/zh-cn

x1 = ( x0 * a + c ) MOD (2^24)

这是VB中所使用的RND函数的原理.