.net自定义文档类型以及文档加密处理
说明:当前软件能进行绝大部分的文档阅读以及修改,当我们要生成一份具有权威性的报告时,就有困难了。因此,如何生成一份专有的文件类型,只能自己打开,其他软件无法打开,是我们需要了解的内容。
本章内容
1、自定义文件格式
2、对文档加密处理
1、自定义文件格式
直接上代码如下:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
SaveFileDialog1.Filter = " 文本文件(*.opps)|*.op" '自定义文档类型
SaveFileDialog1.ShowDialog() '调用保存窗口
Dim filel As New FileStream(SaveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write)
writerr = New StreamWriter(filel, Encoding.UTF8) '定义编码规则
TextBox1.Text = ProtectStr(TextBox1.Text, False)
writerr.WriteLine(TextBox1.Text) '将控件内容写入
writerr.Flush()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
OpenFileDialog1.Filter = " 文本文件(*.opps)|*.op" '要打开的文档类型
OpenFileDialog1.ShowDialog() '调用打开窗口
Dim filel As New FileStream(OpenFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Read)
reader = New StreamReader(filel, Encoding.UTF8) '编码规则
Dim linestr As String
linestr = reader.ReadToEnd '从头读到尾
TextBox2.Text = linestr
'TextBox2.Text = ProtectStr(TextBox2.Text, True)
End Sub
功能解释:上述代码是将控件 textbox1的内容通过控件button1进行保存,而控件button2是将保存的文档内容读取到控件textbox2里面。
核心思想:文档类型根据自己的喜好随意设置,但要注意的是保存和打开的文档类型和文档编码规则一定要相同,不然会报错!
2、文档加密处理
说明:所谓的加密处理就是当用其他软件打开时,内容将变成一团乱码,只有自己编写的程序才能正确显示内容。
思想:在编码规则确定的情况下,可以对内容进行一个处理之后再保存。下次打开的时候再进行一个逆处理就可以正确读取。
具体代码如下:
'核心函数
Public Function ProtectStr(ByVal strInput As String, ByVal bCho As Boolean) As String
Dim i1 As Integer
ProtectStr = ""
For i1 = 1 To Len(strInput)
If bCho = False Then
ProtectStr &= Chr(Asc(Mid(strInput, i1, 1)) + 10)
Else
ProtectStr &= Chr(Asc(Mid(strInput, i1, 1)) - 10)
End If
Next
End Function
功能解释:存储之前字符对应的Ascii+10,读取时记得-10处理。也可以进行其他处理。对函数的引用如自定义文件格式里面的应用。
验证发现,对应Ascii值加不同的数,对加密之后的内容显示也不一样,例如加减值为5的时候,假如保存的内容里面有数字,那么数字对应显示的加密内容也为数字,不利于加密或者比较容易发现加密的规则而复原,经过多次实验,加减值为10的时候,数字对应内容为“****”,不再显示数字内容,更利于加密处理。感兴趣的可以试一下。
为了使程序更有说服力,加密之后,更改文件类型为txt,打开显示如下:
1、界面显示以及运行结果如下:
2、加密文档之后其他软件打开显示如下: