编写简单的文本文件加密程序
1、一般编写一个软件需要特定的编程和编译运行环境,此处使用VBS(Microsoft Visual Basic Script Edition),微软可视化Basic编程语言脚本版,Windows支持该脚本,因此可以使用VBS编写一个脚本程序直接在Windows上运行(这与Linux环境下编写和运行shell脚本类似)。
2、使用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 if
loop
'2 打开选择的文件
set fso = CreateObject("Scripting.FileSystemObject")
set ws = createobject("wscript.shell")
set f=fso.getfile(strLoadFile)
path=f.parentfolder
name=f.name
set 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 dow
loop
fr.close
fw.close
'4 运行结束弹出提示对话框
ws.popup "加密成功!",3
'VBS打开选择文件对话框,适用于Windows7
Function 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 _
"<html>" & _
"<head>" & _
"<title>Browse</title>" & _
"</head>" & _
"<body>" & _
"<input type='file' id='f' />" & _
"<script type='text/javascript'>" & _
"var f = document.getElementById('f');" & _
"f.click();" & _
"var shell = new ActiveXObject('WScript.Shell');" & _
"shell.RegWrite('HKEY_CURRENT_USER\\Volatile Environment\\MsgResp', f.value);" & _
"window.close();" & _
"</script>" & _
"</body>" & _
"</html>"
tempFile.Close
shell.Run tempFolder & "\" & tempName & ".hta", 0, True
BrowseForFile = shell.RegRead("HKEY_CURRENT_USER\Volatile Environment\MsgResp")
shell.RegDelete "HKEY_CURRENT_USER\Volatile Environment\MsgResp"
End Function
3、将文件保存为vbs类型,即在记事本另存为时,在“保存类型”中选择“所有文件”,将文件名写为“filename.vbs”
4、双击运行vbs文件,弹出文件选择对话框,选择需要加密的txt文件,打开,确定之后弹出加密成功对话框,在同一文件夹下出现加密后的文件,文件名为“加密filename.txt”
5、加密后的文件内容如下所示
6、重复上述步骤,使用vbs脚本对加密后的文件再一次加密则重现原文件内容(两次加密相当于解密)。加密后的文件名总是为“加密”+原文件名,这个可以在加密脚本中修改
1、该加密程序使用异或(xor)操作作为加密算法,异或操作有一个特点:一个数连续与另一个数进行两次异或则结果等于其自身,因此进行一次加密(异或)得到密文,再异或一次得到原文。
修改参与异或操作的数据数值则可以形成不同的加密算法。