.net自定义文档类型以及加密处理

本文档介绍如何在.NET中创建自定义文件格式并实现文档加密处理。自定义文件格式允许创建专有报告,确保内容的独特性。加密处理通过对内容进行特定规则的编码,使得其他软件无法正确显示,增强数据安全性。详细步骤包括设置文件类型、保持编码一致以及使用ASCII值加减10的加密方法,以防止内容被轻易解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.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、加密文档之后其他软件打开显示如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值