VISUALBASIC的RND()函数有一个重要的特征:当RND()的参数(我们称这里可以称它为种子)为负值时,同一种子(负值)产生同一个随机数序列。同时VISUALBASIC还具有强大的二进制技术功能,这样我们可以按以下思路实现文件内容加密:
X=RND(-KEY)
'KEY为正数
VAULE=INT(256*RND)'产生一个随机数(以此为密码)
OpenFILENAME$ForBinaryAs#FILENUM'打开文件
Get#FILENUM,I,A'取文件内容
B=AXORVAULE'得到加密文件
结合
C=BXORVAULE'得到解密文件(B为加密后文件内容)
注意:这里的A非整个文件内容,可以是极少部分、几个字节甚至单个字节,若为单字节,则文件中的每个字节同不同的数异或,破译难度可见有多么大。具体过程:
SubENDECODE(FILENAME$,MA,FILE2$)'参数为:源文件,密码,目标文件
DimFILENUMAsInteger,XAsSingle,IAsSingle
DimCHARNUM...[ 查看全文 ]