Windows7操作系统
一般编写一个软件需要特定的编程和编译运行环境,此处使用VBS(Microsoft Visual Basic Script Edition),微软可视化Basic编程语言脚本版,Windows支持该脚本,因此可以使用VBS编写一个脚本程序直接在Windows上运行(这与Linux环境下编写和运行shell脚本类似)。
使用Windows自带的“记事本”编辑如下程序代码(可以直接拷贝粘贴,也可以在网盘中下载已经编辑好的vbs脚本:http://pan.baidu.com/s/1i39WUrz):'On Error Resume Next'1打开文件do strLoadFile = BrowseForFile() if strLoadFile <> '' then WScript.Echo strLoadFile exit do else k=msgbox('您未选中任何文件,重新选择吗?',vbYesNo,'vbs代码加密工具') if k=vbno then wscript.quit end ifloop'2 打开选择的文件set fso = CreateObject('Scripting.FileSystemObject')set ws = createobject('wscript.shell')set f=fso.getfile(strLoadFile)path=f.parentfoldername=f.nameset fr=fso.opentextfile(strLoadFile)set fw=fso.createtextfile('加密' +name,2)'3 加密过程do while fr.atendofstream=false line=fr.readline dow='' for i=1 to len(line) achar=mid(line,i,1) '----------------加密算法,可以修改------------------------- '--将下面的123换成0~255的任何值,则对应不同的加密算法----- bchar=chr(asc(achar) Xor 123) dow=dow & (bchar) 'dow=dow & (achar) next fw.write dowloopfr.closefw.close'4 运行结束弹出提示对话框ws.popup '加密成功!',3'VBS打开选择文件对话框,适用于Windows7Function BrowseForFile() Dim shell : Set shell = CreateObject('WScript.Shell') Dim fso : Set fso = CreateObject('Scripting.FileSystemObject') Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2) Dim tempName : tempName = fso.GetTempName() Dim tempFile : Set tempFile = tempFolder.CreateTextFile(tempName & '.hta') tempFile.Write _ '' & _ '
' & _ '将文件保存为vbs类型,即在记事本另存为时,在“保存类型”中选择“所有文件”,将文件名写为“filename.vbs”
双击运行vbs文件,弹出文件选择对话框,选择需要加密的txt文件,打开,确定之后弹出加密成功对话框,在同一文件夹下出现加密后的文件,文件名为“加密filename.txt”
加密后的文件内容如下所示
重复上述步骤,使用vbs脚本对加密后的文件再一次加密则重现原文件内容(两次加密相当于解密)。加密后的文件名总是为“加密”+原文件名,这个可以在加密脚本中修改
该加密程序使用异或(xor)操作作为加密算法,异或操作有一个特点:一个数连续与另一个数进行两次异或则结果等于其自身,因此进行一次加密(异或)得到密文,再异或一次得到原文。修改参与异或操作的数据数值则可以形成不同的加密算法。
该脚本适用于Windows7,其它Windows版本未经过验证,可能由于VBS脚本的变化会存在在其它版本Windows上无法运行的情况
程序只能对txt文件进行加解密操作