怎样解密加密文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样解密加密文件相关的知识,希望对你有一定的参考价值。

参考技术A 问题一:word文档加密了怎么解密啊 10分 方法一:插入文件法
启动WORD,新建一个空白文档,执行“插入――〉文件”命令,打开“插入文件”对话框,定位到需要解除保护的文档所在的文件夹,选中相应文档,单击“插入骇按钮,将加密保护的文档插入到新文档中,文档保护会被自动撤销。
方法二:文件另存法
打开保护的文档,执行“文件――〉另存为”命令,打开“另存为”对话框,将“文件类型”选定为“WORD97―2003&6.0/95―RTF(*.doc)”,然后取名保存,关闭该文档,重新打开一下,执行“工具――〉取消文档保护”命令即可。
或者将文件类型另存为HTML,然后将其中的内容,复制粘贴到新建文档中。
方法三:写字板法
启动写字板,打开保护的WORD文档,另存为WORD文档,同时可以取消对文档的保护。
但此方法可能会使文档中的图片等要素丢失。

问题二:加密文件夹如何解密 一、加密文件或文件夹
步骤一:打开Windows资源管理器。
步骤二:右键单击要加密的文件或文件夹,然后单击“属性”。
步骤三:在“常规”选项卡上,单击“高级”。选中“加密内容以便保护数据”复选框
在加密过程中还要注意以下五点:
1.要打开“Windows 资源管理器”,请单击“开始→程序→附件”,然后单击“Windows 资源管理器”。
2.只可以加密NTFS分区卷上的文件和文件夹,FAT分区卷上的文件和文件夹无效。
3.被压缩的文件或文件夹也可以加密。如果要加密一个压缩文件或文件夹,则该文件或文件夹将会被解压。
4.无法加密标记为“系统”属性的文件,并且位于systemroot目录结构中的文件也无法加密。
5.在加密文件夹时,系统将询问是否要同时加密它的子文件夹。如果选择是,那它的子文件夹也会被加密,以后所有添加进文件夹中的文件和子文件夹都将在添加时自动加密。
二、解密文件或文件夹
步骤一:打开Windows资源管理器。
步骤二:右键单击加密文件或文件夹,然后单击“属性”。
步骤三:在“常规”选项卡上,单击“高级”。
步骤四:清除“加密内容以便保护数据”复选框。
同样,我们在使用解密过程中要注意以下问题:
1.要打开“Windows资源管理器”,请单击“开始→程序→附件”,然后单击“Windows资源管理器”。
2.在对文件夹解密时,系统将询问是否要同时将文件夹内的所有文件和子文件夹解密。如果选择仅解密文件夹,则在要解密文件夹中的加密文件和子文件夹仍保持加密。但是,在已解密文件夹内创立的新文件和文件夹将不会被自动加密。
以上就是使用文件加、解密的方法!而在使用过程中我们也许会遇到以下一些问题,在此作以下说明:
1.高级按钮不能用
原因:加密文件系统(EFS)只能处理NTFS文件系统卷上的文件和文件夹。如果试图加密的文件或文件夹在FAT或FAT32卷上,则高级按钮不会出现在该文件或文件夹的属性中。
解决方案:
将卷转换成带转换实用程序的NTFS卷。
打开命令提示符。
键入:Convert [drive]/fs:ntfs
(drive 是目标驱动器的驱动器号)
2.当打开加密文件时,显示“拒绝访问”消息
原因:加密文件系统(EFS)使用公钥证书对文件加密,与该证书相关的私钥在本计算机上不可用。
解决方案:
查找合适的证书的私钥,并使用证书管理单元将私钥导入计算机并在本机上使用。
3.用户基于NTFS对文件加密,重装系统后加密文件无法被访问的问题的解决方案(注意:重装Win2000/XP前一定要备份加密用户的证书):
步骤一:以加密用户登录计算机。
步骤二:单击“开始→运行”,键入“mmc”,然后单击“确定”。
步骤三:在“控制台”菜单上,单击“添加/删除管理单元”,然后单击“添加”。
步骤四:在“单独管理单元”下,单击“证书”,然后单击“添加”。
步骤五:单击“我的用户账户”,然后单击“完成”(如图2,如果你加密用户不是管理员就不会出现这个窗口,直接到下一步) 。
步骤六:单击“关闭”,然后单击“确定”。
步骤七:双击“证书――当前用户”,双击“个人”,然后双击“证书”。
步骤八:单击“预期目的”栏中显示“加密文件”字样的证书。
步骤九:右键单击该证书,指向“所有任务”,然后单击“导出”。
步骤十:按照证书导出向导的指示将证书及相关的私钥以PFX文件格式导出(注意:推荐使用“导出私钥”方式导出,这样可以保证证书受密码保护,以防别......>>

问题三:加密文件夹解密后里面没内容。怎样才能找到加密前的文件? 打开我的电脑,在”工具”选项的下拉菜单”文件夹选项”选项中有个”显示隐藏文件”前面打勾,按确定

问题四:电脑文件加密 怎么解密啊 你都折腾了两遍重装系统的事儿了,现在那些个文件你放弃吧,彻底无法打开了,你用的是系统自带的EFS加密功能,该功能非常强大,几乎没有破解的方法,本来你应该在加密之后马上导出加密证书的,这样就能在重装系统后导入加密证书以解密文件,至少能够打开文件,现在是不行了。就算是你第一次刚重装完系统,也已经非常危险了,完全得靠你的运气,除非你运气非常好,才能用数据恢复软件找到以前的所需的所有加密文件,并构造一个与原加密用户名相同的用户,并用NewSid更改该用户的SID为原来那个用户的SID,进行适当更改后才能打开加密文件。

问题五:如何破解系统加密文件 EFS(Encrypting File System,加密文件系统)是Windows XP内置的一个实用功能,可以对NTFS分区上的文件和数据进行加密,在很大程度上提高了数据的安全性。小李之所以可以打破EFS加密算法的保护,关键是使用了系统提供的“策略代理”方法,该方法可以让特定的用户读取所有的加密文件。当然,该方法是针对多帐户环境而言的。因为在该公用电脑中存在多个拥有管理员权限的帐号。小王使用的是“Administrator”账户,而另一个同事在该机上使用的账户名称是“hongyun”,该账户同样拥有管理员权限。小李正是借助于“hongyun”账户,才轻松突破了加密的束缚。小李首先以“hongyun”账户登录系统,之后在“开始”→“运行”中执行“cmd.exe”程序,在CMD窗口首先切换到C盘根目录,之后执行命令“cipher /r:mykey”,注意其中的“mykey”为导出密钥文件名。随后系统提示输入密码(如图1),小李输入的密码为“key123456789”。当然,该密码的可以随意设置。

这样,就在C盘根目录下生成两个文件,扩展名分别为“cer”和“pfx”。本例中生成的文件为“mykey.cer”和“mykey.pfk”,其中“mykey.cer”为公钥证书文件,“mykey.pfk”为代理人的私钥证书文件。在“开始”→“运行”中运行“gpedit.msc”命令,打开组策略编辑器窗口。在窗口左侧的列表中依次展开“计算机配置”→“Windows设置”→“安全设置”→“公钥策略”→“正在加密文件系统”分支,在其右键菜单上点击“添加数恢复代理程序”项,弹出操作向导界面(如图2)。在其中的“选择故障恢复代理”窗口中点击“浏览文件夹”按钮,在文件选择窗口中导入前面创建的“mykey.cer”文件,之后依次点击“下一步”按钮完成操作。

在资源管理器中进入D盘中的“小王的文件”文件夹,在其中任意文件的属性窗口中打开“常规”面板,点击“高级”按钮,在高级属性窗口中点击“详细信息”按钮,在信息窗口(如图3)中可以看到刚才创建的恢复代理项目。
双击前面生成的文件“mykey.pfk”,弹出证书导入向导界面(如图4),依次点击“Next”按钮,在“密码”窗口中输入预设的密码“key123456789”,完成证书的导入操作。当完成上述操作后。在资源管理器中D盘中的“小王的文件”文件夹,双击其中的加密文件,即可正常访问其内容了。这样,小李几乎没有花费什么力气,就成功的找回了小王的加密文件了。

问题六:Win7 如何实现加密文件的解密? 不知道你是用的是不是win7上的bitlocker加密的文件,你需要解密文件,解密需要打开控制面板,再选择系统与安全,打开它,你就能看见bitlocker了,然后单击管理bitlocker,就能解密了,需要你先前设定的密码才能解密,用bitlocker加密的软件在xp系统里只能复制出来,不能往u盘里装东西。

问题七:求救 如何解密手机加密文件??????? 如是加了密,不关那种密,与电脑联机也是无济于事,打不开的。只有通过刷机软件解密。不过这样下来你手机所有的信息都没有了,自然照片也没有了。建议你用东震,它可以扫描密码,而不破坏其内存数据。

问题八:电脑上的文件加密了怎么解密啊 使用的是EFS加密,如果没有备份加密证书的话,那就你节哀顺变吧!恢复的可能性很小。
你可以试一下下面的小方法:

1.工具-文件夹选项-查看-使用简单文件夹共享 (把前面的勾勾去掉)
2.在加密的文件上点右键-属性-安全-高级-所有者-替换所有者(把下面替换子容器的选项打上勾) 替换成你自己的用户
这个方法能用,你就算运气好,不行的话我也没有办法 了!
EFS加密非常危险,我推荐你使用专业的文件夹加密软件文件夹加密超级大师来加密您的文件夹。

问题九:文件以前加密更换电脑后怎样解密 步骤一:打开Windows资源管理器。
步骤二:右键单击加密文件或文件夹,然后单击“属性”。
步骤三:在“常规”选项卡上,单击“高级”。
步骤四:清除“加密内容以便保护数据”复选框。
同样,我们在使用解密过程中要注意以下问题:
1.要打开“Windows资源管理器”,请单击“开始→程序→附件”,然后“Windows资源管理器”。
2.在对文件夹解密时,系统将询问是否要同时将文件夹内的所有文件和子文件夹解密。如果选择仅解密文件夹,则在要解密文件夹中的加密文件和子文件夹仍保持加密。但是,在已解密文件夹内创立的新文件和文件夹将不会被自动加密。
以上就是使用文件加、解密的方法!而在使用过程中我们也许会遇到以下一些问题,在此作以下说明:
1.高级按钮不能用
原因:加密文件系统EFS只能处理NTFS 文件系统卷上的文件和文件夹。如果试图加密的文件或文件夹在 FAT 或 FAT32 卷上,则高级按钮不会出现在该文件或文件夹的属性中。
解决方案:
将卷转换成带转换实用程序的 NTFS 卷。 打开命令提示符。 键入:Convert drive/fs ntfs
(drive 是目标驱动器的驱动器号)
2.当打开加密文件时,显示“拒绝访问”消息
原因:加密文件系统 EFS用公钥证书对文件加密,与该证书相关的私钥在本计算机上不可用。
解决方案:
查找合适的证书的私钥,并使用证书管理单元将私钥导入计算机并在本机上使用。
3.用户基于NTFS对文件加密,重装系统后加密文件无法被访问的问题的解决方案(注意:重装Win2000/XP前一定要备份加密用户的证书):
步骤一:以加密用户登录计算机。
步骤二:单击“开始→运行”,键入“mmc”,然后单击“确定”。
步骤三:在“控制台”菜单上,单击“添加/删除管理单元”,然后单击“添加”。
步骤四:在“单独管理单元”下,单击“证书”,然后单击“添加”。
步骤五:单击“我的用户账户”,然后单击“完成”(如图2,如果你加密用户不是管理员就不会出现这个窗口,直接到下一步) 。
步骤六:单击“关闭”,然后单击“确定”。
步骤七:双击“证书――当前用户”,双击“个人”,然后双击“证书”。
步骤八:单击“预期目的”栏中显示“加密文件”字样的证书。
步骤九:右键单击该证书,指向“所有任务”,然后单击“导出”。
步骤十:按照证书导出向导的指示将证书及相关的私钥以PFX文件格式导出(注意:推荐使用“导出私钥”方式导出,这样可以保证证书受密码保护,以防别人盗用。另外,证书只能保存到你有读写权限的目录下)。
4.保存好证书
注意将PFX文件保存好。以后重装系统之后无论在哪个用户下只要双击这个证书文件,导入这个私人证书就可以访问NTFS系统下由该证书的原用户加密的文件夹(注意:使用备份恢复功能备份的NTFS分区上的加密文件夹是不能恢复到非NTFS分区的)。
这个证书还可以实现下述用途:
(1)给予不同用户访问加密文件夹的权限
将我的证书按“导出私钥”方式导出,将该证书发给需要访问这个文件夹的本机其他用户。然后由他登录,导入该证书,实现对这个文件夹的访问。
(2)在其也WinXP机器上对用“备份恢复”程序备份的以前的加密文件夹的恢复访问权限
将加密文件夹用“备份恢复”程序备份,然后把生成的Backup.bkf连同这个证书拷贝到另外一台WinXP机器上,用“备份恢复”程序将它恢复出来(......>>

C 语言文件操作 ( 文件加密解密 | 解密文件 )





一、文件加密解密操作



准备 2 2 2 个文件 , 一个是原始文件 , 一个是加密后的文件 , 将原始文件进行加密 , 然后将加密后的数据输出到加密文件中 ;

    // 要解密的文件
    const char *input_file= "D:/File/config_encode.ini";

    // 解密后的文件
    const char *output_file = "D:/File/config_decode.ini";

    // 将 要加密的 input_file 文件加密 , 并输出到 output_file 文件中
    ret =  file_decode(input_file, output_file);

1、解密整 4096 字节的数据


打开输入文件 , 每次从输入文件中 , 读取 4096 4096 4096 字节数据 , 将这 4096 4096 4096 字节数据解密 , 然后写出到解密文件中 ;

    // 循环读取输入文件中的数据
    while (!feof(fp_in))
    
        // 尝试从输入文件中读取 4K 数据
        input_len = fread(input_buffer, 1, 4096, fp_in);
        // 如果读取完毕 , 直接退出
        if (feof(fp_in))
        
            break;
        

        // 解密 4096 字节数据
        ret =  des_decode_raw(input_buffer, input_len, output_buffer, &output_len);
        // 如果加密失败, 直接退出
        if (ret != 0)
        
            printf("error : des_encode_raw \\n", ret);
            goto END;
        

        // 将解密后的数据 , 写出到输出文件中
        output_tmplen = fwrite(output_buffer, 1, output_len, fp_out);
        // 如果写出失败 , 直接退出
        if (output_tmplen != output_len)
        
            ret  = -3;
            printf("error : fwrite\\n");
            goto END;
        
    

2、解密小于 4096 字节的数据


如果读取的数据小于 4096 4096 4096 字节 , 会退出循环 , 执行下面的业务逻辑 ;

下面的函数主要是 解密小于 4096 字节数据 , 加密完成后 , 将解密数据输出到文件中 ;

    // 解密小于 4096 字节数据
    ret =  des_decode(input_buffer, input_len, output_buffer, &output_len);
    // 加密失败 , 直接退出
    if (ret != 0)
    
        printf("error : des_decode \\n", ret);
        goto END;
    

    // 将解密后的数据 , 写出到输出文件中
    output_tmplen = fwrite(output_buffer, 1, output_len, fp_out);
    // 如果写出失败 , 直接退出
    if (output_len != output_tmplen)
    
        ret  = -3;
        printf("error : fwrite\\n");
        goto END;
    




二、完整代码示例




1、文件加密操作 main.c


#define  _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "des.h"

/**
 * @brief file_encode 文件加密
 * @param input_file   被加密的文件
 * @param output_file  加密后的文件
 * @return
 */
int file_encode(const char *input_file, const char *output_file)

    // 用于接收各个步骤的返回值 , 做校验
    int ret = 0;

    // 输入 文件 指针
    FILE *fp_in= NULL;

    // 输出 文件 指针
    FILE *fp_out = NULL;

    // 输入缓冲区 , 大小 4K
    unsigned char input_buffer[4096] = 0;

    // 输入数据字节数
    int input_len = 0;

    // 输出文件缓冲区
    unsigned char output_buffer[4096] = 0;

    // 输出数据字节数
    int output_len = 0;

    // 输出数据写出字节数 , 用于与上面的 output_len 进行对比
    // 一般情况下这两个值相等 , 如果出错 , 直接退出程序
    int output_tmplen;

    // 打开输入文件
    fp_in = fopen(input_file, "rb");
    if (fp_in == NULL)
    
        goto END;
    

    // 打开输出文件
    fp_out = fopen(output_file, "wb");
    if (fp_out == NULL)
    
        goto END;
    

    // 循环读取输入文件中的数据
    while (!feof(fp_in))
    
        // 尝试从输入文件中读取 4K 数据
        input_len = fread(input_buffer, 1, 4096, fp_in);
        // 如果读取完毕 , 直接退出
        if (feof(fp_in))
        
            break;
        

        // 加密 4096 字节数据
        ret =  des_encode_raw(input_buffer, input_len, output_buffer, &output_len);
        // 如果加密失败, 直接退出
        if (ret != 0)
        
            printf("error : des_encode_raw \\n", ret);
            goto END;
        

        // 将加密后的数据 , 写出到输出文件中
        output_tmplen = fwrite(output_buffer, 1, output_len, fp_out);
        // 如果写出失败 , 直接退出
        if (output_tmplen != output_len)
        
            ret  = -3;
            printf("error : fwrite\\n");
            goto END;
        
    

    // 加密小于 4096 字节数据
    ret =  des_encode(input_buffer, input_len, output_buffer, &output_len);
    // 加密失败 , 直接退出
    if (ret != 0)
    
        printf("error : des_encode \\n", ret);
        goto END;
    

    // 将加密后的数据 , 写出到输出文件中
    output_tmplen = fwrite(output_buffer, 1, output_len, fp_out);
    // 如果写出失败 , 直接退出
    if (output_len != output_tmplen)
    
        ret  = -3;
        printf("error : fwrite\\n");
        goto END;
    

END:
    // 关闭输入文件
    if (fp_in != NULL)
    
        fclose(fp_in);
    
    // 关闭输出文件
    if (fp_out != NULL)
    
        fclose(fp_out);
    
    return 0;


int main_encode()

    // 接收 子函数 返回值
    int ret = 0;

    // 要加密的文件
    const char *input_file= "D:/File/config.ini";

    // 加密后的文件
    const char *output_file = "D:/File/config_encode.ini";

    // 将 要加密的 input_file 文件加密 , 并输出到 output_file 文件中
    ret =  file_encode(input_file, output_file);

    // 加密失败
    if (ret != 0)
    
        printf("error : file_encoder\\n " );
        return ret;
    

    system("pause");
    return ret;


/**
 * @brief file_decode 文件解密
 * @param input_file   被加密的文件
 * @param output_file  加密后的文件
 * @return
 */
int file_decode(const char *input_file, const char *output_file)

    // 用于接收各个步骤的返回值 , 做校验
    int ret = 0;

    // 输入 文件 指针
    FILE *fp_in= NULL;

    // 输出 文件 指针
    FILE *fp_out = NULL;

    // 输入缓冲区 , 大小 4K
    unsigned char input_buffer[4096] = 0;

    // 输入数据字节数
    int input_len = 0;

    // 输出文件缓冲区
    unsigned char output_buffer[4096] = 0;

    // 输出数据字节数
    int output_len = 0;

    // 输出数据写出字节数 , 用于与上面的 output_len 进行对比
    // 一般情况下这两个值相等 , 如果出错 , 直接退出程序
    int output_tmplen;

    // 打开输入文件
    fp_in = fopen(input_file, "rb");
    if (fp_in == NULL)
    
        goto END;
    

    // 打开输出文件
    fp_out = fopen(output_file, "wb");
    if (fp_out == NULL)
    
        goto END;
    

    // 循环读取输入文件中的数据
    while (!feof(fp_in))
    
        // 尝试从输入文件中读取 4K 数据
        input_len = fread(input_buffer, 1, 4096, fp_in);
        // 如果读取完毕 , 直接退出
        if (feof(fp_in))
        
            break;
        

        // 解密 4096 字节数据
        ret =  des_decode_raw(input_buffer, input_len, output_buffer, &output_len);
        // 如果加密失败, 直接退出
        if (ret != 0)
        
            printf("error : des_encode_raw \\n", ret);
            goto END;
        

        // 将解密后的数据 , 写出到输出文件中
        output_tmplen = fwrite(output_buffer, 1, output_len, fp_out);
        // 如果写出失败 , 直接退出
        if (output_tmplen != output_len)
        
            ret  = -3;
            printf("error : fwrite\\n");
            goto END;
        
    

    // 解密小于 4096 字节数据
    ret =  des_decode(input_buffer, input_len, output_buffer, &output_len);
    // 加密失败 , 直接退出
    if (ret != 0)
    
        printf("error : des_decode \\n", ret);
        goto END;
    

    // 将解密后的数据 , 写出到输出文件中
    output_tmplen = fwrite(output_buffer, 1, output_len, fp_out);
    // 如果写出失败 , 直接退出
    if (output_len != output_tmplen)
    
        ret  = -3;
        printf("error : fwrite\\n");
        goto END;
    

END:
    // 关闭输入文件
    if (fp_in != NULL)
    
        fclose(fp_in);
    
    // 关闭输出文件
    if (fp_out != NULL)
    
        fclose(fp_out);
    
    return 0;



int main_decode()

    // 接收 子函数 返回值
    int ret = 0;

    // 要解密的文件
    const char *input_file= "D:/File/config_encode.ini";

    // 解密后的文件
    const char *output_file = "D:/File/config_decode.ini";

    // 将 要加密的 input_file 文件加密 , 并输出到 output_file 文件中
    ret =  file_decode(input_file, output_file);

    // 加密失败
    if (ret != 0)
    
        printf("error : file_encoder\\n " );
        return ret;
    

    system("pause");
    return ret;



int main()

    // 文件加密
    //main_encode();

    // 文件解密
    main_decode();

    system("pause");
    return 0;


2、DES 加密解密头文件 des.h


/*********************************************************
 *  des.h
 *  DES 加密算法头文件
 *********************************************************/
#ifndef _DES_H_
#define _DES_H_

#ifdef __cplusplus
extern "C" 
#endif

/**
 * @brief des_encode_raw DES 加密操作 , 加密 4096 字节数据
 * @param in_data 输入数据
 * @param in_data_len 输入数据长度
 * @param out_data 输出数据
 * @param out_data_len 输出数据长度
 * @return
 */
int des_encode_raw(
        unsigned char *in_data,
        int            in_data_len,
        unsigned char *out_data,
        int           *out_data_len);

/**
 * @brief des_encode DES 加密操作 , 加密少于 4096 字节数据
 * @param in_data 输入数据
 * @param in_data_len 输入数据长度
 * @param out_data 输出数据
 * @param out_data_len 输出数据长度
 * @return
 */
int des_encode(
        unsigned char *in_data,
        int            in_data_len,
        unsigned char *out_data,
        int           *out_data_len);




/**
 * @brief des_decode_raw DES 解密操作 , 解密 4096 字节
 * @param in_data 输入数据
 * @param in_data_len 输入数据长度
 * @param out_data 输出数据
 * @param out_data_len 输出数据长度
 * @return
 */
int des_decode_raw(
        unsigned char *in_data,
        int            in_data_len,
        unsigned char *out_data,
        int           *out_data_len);

/**
 * @brief des_decode DES 解密操作 , 解密少于 4096 字节
 * @param in_data 输入数据
 * @param in_data_len 输入数据长度
 * @param out_data 输出数据
 * @param out_data_len 输出数据长度
 * @return
 */
int des_decode(
        unsigned char *in_data,
        int            in_data_len,
        unsigned char *out_data,
        int           *out_data_len);

#ifdef __cplusplus

#endif

#endif

3、第三方 DES 加密解密函数库源码 des.c


/******************************************************
 *
 *  des.c
 *  common des......
 *
 ******************************************************/

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "des.h"

/*********************************************************
  data type definition for Des;
**********************************************************/
#define EN0	0
#define DE1	1

#define DES_KEYBYTES	128
#define DES_KEYLONGS	32
#define DES_BLOCKLEN	8

typedef struct 
	unsigned char ek[DES_KEYBYTES];
	int	ekLen;
	unsigned char dk[DES_KEYBYTES];
	int	dkLen;
	unsigned char CbcCtx[DES_BLOCKLEN];
 DES_CTX;

typedef struct 
	unsigned char ek1[DES_KEYBYTES];
	int	ek1Len;
	unsigned char dk1[DES_KEYBYTES];
	int	dk1Len;
	unsigned char ek2[DES_KEYBYTES];
	int	ek2Len;
	unsigned char dk2[DES_KEYBYTES];
	int	dk2Len;
	unsigned char CbcCtx[DES_BLOCKLEN];
	//int	IsFirstBlock;
 DES3_CTX;


static unsigned char pc1[56] = 
	56, 48, 40, 32, 24, 16,  8,  0, 57, 49, 41, 33, 25, 17,
	 9,  1, 58, 50, 42, 34, 26, 18, 10,  2, 59, 51, 43, 35,
	62, 54, 46, 38, 30, 22, 14,  6, 61, 53, 45, 37, 29, 21,
	13,  5, 60, 52, 44, 36, 28, 20, 12,  4, 27, 19, 11,  3 ;

static unsigned char pc2[48] = 
	13, 16, 10, 23,  0,  4,		 2, 27, 14,  5, 20,  9,
	22, 18, 11,  3, 25,  7, 	15,  6, 26, 19, 12,  1,
	40, 51, 30, 36, 46, 54,		29, 39, 50, 44, 32, 47,
	43, 48, 38, 55, 33, 52, 	45, 41, 49, 35, 28, 31 ;

static unsigned short bytebit[8] = 0200,0100,040,020,010,04,02,01 ;
static unsigned ch

以上是关于怎样解密加密文件的主要内容,如果未能解决你的问题,请参考以下文章

如何给加密文件解密

怎样解密这个asp加密

加密的.XLSM 文件解密

使用des对文件加密后怎么解密

加密了一个文件,如何解密呀

文件夹加密了然后就解密不了