文件的加密与解密

文件的加密与解密
文件的加密与解密

前言

随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现,加密算法有多种,常见的有RSA、DES、MD5等。但是这些算法虽然原理简单,但具体实现起来却非常繁琐复杂,故而本程序设计对文件的加密使用的是最基础的异或加密算法。

Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。Java是一门很优秀的编程语言,是目前软件设计中极为健壮的编程语言。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发。Java确实具备了“一次写成,处处运行”的特点,所以,Java已经成为网络时代最重要的编程语言之一。本程序充分利用Java语言的特点,针对当下社会比较重视的文件加密,设计了本程序。

使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。

1.题目分析

1.1课程设计的要求和内容

基本要求:

1.用图形用户界面实现,建立菜单。

2.给定任意一个文本文件,进行加密,生成另一个文件。

3.对加密后的文件还原。

1.2任务分析

1.向图形用户界面中添加组件。

2.设置各个组件的布局。

3.添加窗口事件。

4. 查找读入及写入文件,并显示。

5.加密功能实现。

6.解密功能实现。

1.3相关知识介绍

本程序采用传统的异或加密算法,没有采用DES算法,但对于世界上公认的DES是一种分组加密算法,是以64位为分组对数据加密。64位一组的明文从算法的一端输入,64位的密文从另一端输出。密钥的长度为56位(密钥通常表示为64位的数,但每个第8位都用作奇偶检验,可以忽略)。密钥可以是任意的56位数,且可以在任意的时候改变。本程序采用的算法与DES相同的一点是:都是一个对称算法:及加密和解密用的是同一个算法。

我们也许知道公认的DES算法的工作过程,那就是:若Mode为加密,则用Key对数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;若Mode为解密,则

用Key对密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。但是,重要的是本程序首先经“打开”菜单项,进入文件选择模块,读取字符流,输出文本文档后,在一个数组中,对字符进行异或运算,从而达到加密的效果。

在通信网络的两端,双方约定了一致的Key,在通信的源点用Key对核心数据进行DES 加密,然后以密码形式通过公共通信网(如电话网)传输到通信网络的终点,数据达到目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样便保证了核心数据(如PIN,MAC等)在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融界交易网络的流行作法。

简单地说,DES算法只不过是加密的其中一种技术,通过一个初始置换,将明文分组分成左半部分和右半部分,各32位长。然后进行16轮相同的运算,这些相同的运算被称为函数f,在运算过程中数据和密钥相结合。经过16轮运算后左、右部分在一起经过一个置换(初始置换的逆置换),这样算法就完成了。本程序虽然没有采用此算法,而是采用众所周知的与DES有相似之处的异或算法,实际上是降低了程序的复杂度,使其更清晰,但功能依旧很强大,可见优势也是很多的。

2.概要设计

2.1程序所需要引入的包

import java.awt.*; //包含用于创建用户界面和绘制图形图像的所有类。import java.awt.event.*; //提供处理由 AWT 组件所激发的各类事件的接口和类。import javax.swing.*; //提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。

import java.io.*; //通过数据流、序列化和文件系统提供系统输入和输出。

2.2模块定义

图形用户界面模块:

添加各种所需组件,设置窗口事件。

加密操作模块:

根据选择的文本文件,在浏览窗口中显示后,进行加密,显示在“文本浏览窗口”中。

解密操作模块:

同加密模块一样,由密文的保存路径,打开,进行解密,显示在“文本浏览窗口”中。

文件选择模块:

选择需要加密或解密的文件。

文件保存模块:

选择保存路径,保存需要加密或解密的文件。

2.3层次(调用)关系

3.详细设计

3.1图形用户界面模块

在图形用户界面,设置两个面板,并分别设置显示其组件的布局。设置两个菜单项,分别为“打开”和“保存”;设置两个按钮,分别为“加密”和“解密”;创建一个文本区,用一个标签注明“文件浏览窗口”,这就是整个图形用户界面。

此外,还添加了一个窗口事件windowClosing ,可以关闭运行的程序。

窗口事件的代码实现:

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

} });

}

3.2加密操作模块

本程序采用简单的加密算法,即把从文本区获得的文本文件,初始化,存放到一个数组中,然后进行异或运算,把结果重新存放于该数组中,从而显现在“文件浏览窗口”中。

代码实现: 文件加密器模块

文件选择模块 加密操作模块 文件保存模块

解密操作模块

if(e.getSource()==button1)

{

char a[]=texta.getText().toCharArray();/*把texta中获得的文本,进行初始化,与原字符串长度相等,并将该字符串对象的全部字符复制到该数组a[]中*/ texta.setText(null);

int n;

char secret=' ';

for(int i=0;i

{

char c=(char)(secret^a[i] ;//进行异或运算)

texta.append(""+c);

}

}

3.3解密操作模块

解密操作其实同加密操作相同,依旧首先打开加密后的文件,使其显示在文本区中,再同样对数组里的元素进行初始化,进行异或运算,即可得到解密后的文件,再显示到“文件浏览窗口”中。

入口参数:指定文件路径

代码实现:

if(e.getSource()==button2)

{

char a[]=texta.getText().toCharArray();

texta.setText(null);

int n;

char secret=' ';

for(int i=0;i

{

char c=(char)(secret^a[i]);//再次异或运算,即还原

texta.append(""+c);

}

}

3.4文件保存模块

本程序最大的特点就是:可以选择是否保存加密后的文本文件。因为加密后的文件先显示在文本区中,之后选择菜单项“保存”,即可弹出“保存对话框”,进行查找写入文件,写入字符流,从而实现保存。

代码实现:

if(e.getSource()==itemSave)//查找写入的文件

{

filedialog_save.setVisible(true);

if(filedialog_save.getFile()!=null)

{

try

{

File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile());

FileWriter tofile=new FileWriter(file);//写入字符流

BufferedWriter out=new BufferedWriter(tofile);

out.write(texta.getText(),0,(texta.getText()).length());

out.close();

tofile.close();

}

catch (IOException e2)

{}}}

3.文件选择模块

同上个文件保存模块类似,依旧在选择菜单项“打开”后,查找读入文件,读取字符流,弹出“打开对话框”,从而可实现获取文件。

出口值:被选文件的路径

代码实现:

public void actionPerformed(ActionEvent e)//查找读入文件

{

if(e.getSource()==itemOpen)

{

filedialog_load.setVisible(true);

texta.setText(null);

String s;

if(filedialog_load.getFile()!=null)

{

try

{

File file=new File(filedialog_load.getDirectory(),filedialog_load.getFile());

FileReader file_reader=new FileReader(file);//读取字符流

BufferedReader in=new BufferedReader(file_reader);

while((s=in.readLine())!=null)

texta.append(s+'\n');

in.close();

file_reader.close();

}

catch (IOException e1)

{}}}

4.运行调试

4.1加密

首先在我机器D盘里创建一个名为塔里木大学.txt文本文件用做测试。

运行程序,弹出如图5-1的对话框

图4.1运行程序

点击“文件”,选择“打开”,即弹出“打开”对话框,选择一个文本文件,如图4.2

图4.2选择加密文件

选择文件后,即可在“文件浏览窗口”中显示文本的信息,点击“加密”按钮,即可在“文件浏览窗口”看到加密后的文件(如图4-3)。

图4.3生成加密文件

对加密后的密文进行保存,选择“文件”下的“保存”,即可弹出“保存”对话框,选择路径,即可保存,如图4.4。

图4.4保存加密文件

4.2解密

解密操作中对文件选择,密码输入和加密操作是一样的。

将刚刚加密的程序进行解密,打开密文文件,选择“加密与解密”窗口下“解密”按钮,点击,即可解密,如图4.5所示。

图4.5解密文件

5小结

这次课程设计的要求并不多,只要实现加密与解密功能,而且只需要采用一种加密算法,但是为了本次课程设计,我们组也搜索了大量的资料,并根据在课堂上,书本上,老师讲过的知识,结合自身主观和客观因素,制定了本次课程设计的目标,并齐心协力,完成了此次设计。

通过本次的课程设计,我们还知道了许多自身存在的不足,例如仅掌握了一种加密算法,但在日益发达的社会商业等领域,加密解密需要做的还非常多,并且Java领域博大精深,我们现在只是学到了它的一点皮毛而已,所以还需多多努力。

但是通过这些我还是学到了很多东西,先不说其他的,我最起码最基础的加密算法,而且以后可以运用到自己想要保密的文件当中去。

通过这次课程设计,我用JAVA语言实现,我这是我对JAVA语言有了根深的了解巩固了以前学到的知识,也学习到了新的知识,课程设计虽然暂告一个段落,但我们学习Java的步伐不会终止。

参考文献

(1)丁振凡.《Java语言实用教程》北京邮电大学出版社(2)耿祥义.《Java2实用教程》清华大学出版社

(3)赵付青.《Java面向对象程序设计》国防工业出版社. (4)耿祥义.《Java课程设计》清华大学出版社

附录源代码

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

class Myframe extends Frame implements ActionListener {

FileDialog filedialog_save,filedialog_load;

Button button1,button2;

Label label;

MenuBar bar;

Menu menu;

MenuItem itemOpen,itemSave;

TextArea texta;

Myframe(String s) //创建对话框

{

super(s);

texta= new TextArea(38,160);

button1= new Button("加密");

button2= new Button("解密");

menu=new Menu("文件");

itemOpen=new MenuItem("打开");

itemSave=new MenuItem("保存");

label=new Label("文件浏览窗口");

itemOpen.addActionListener(this);

itemSave.addActionListener(this);

button1.addActionListener(this);

button2.addActionListener(this);

filedialog_save=new FileDialog(this,"保存文件对话框",FileDialog.SA VE); filedialog_load=new FileDialog(this,"打开文件对话框",FileDialog.LOAD); filedialog_save.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

filedialog_save.setVisible(false);

}

});

filedialog_load.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

filedialog_load.setVisible(false);

}

});

Box box1=Box.createHorizontalBox();//创建一个从左到右显示其组件的box1; Box box2=Box.createVerticalBox();//创建一个从上到下显示其组件的box2; Box box3=Box.createVerticalBox();

Box boxbase=Box.createVerticalBox();

Panel panel1=new Panel();

Panel panel2=new Panel();

setMenuBar(bar=new MenuBar());

bar.add(menu);

menu.add(itemOpen);

menu.add(itemSave);

panel1.add(button1);

panel1.add(button2);

box1.add(panel1);

box2.add(label);

panel2.add(texta);

box3.add(panel2);

boxbase.add(box1);

boxbase.add(box2);

boxbase.add(box3);

add(boxbase);

setLayout(new FlowLayout());

setBounds(100,0,1200,750);

setVisible(true);

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}//“关闭”窗口事件;

public void actionPerformed(ActionEvent e)//查找读入文件{

if(e.getSource()==itemOpen)

{

filedialog_load.setVisible(true);

texta.setText(null);

String s;

if(filedialog_load.getFile()!=null)

{

try

{

File file=new File(filedialog_load.getDirectory(),filedialog_load.getFile());

FileReader file_reader=new FileReader(file);//读取字符流

BufferedReader in=new BufferedReader(file_reader);

while((s=in.readLine())!=null)

texta.append(s+'\n');

in.close();

file_reader.close();

}

catch (IOException e1)

{

}

}

}

if(e.getSource()==itemSave)//查找写入的文件

{

filedialog_save.setVisible(true);

if(filedialog_save.getFile()!=null)

{

try

{

File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile());

FileWriter tofile=new FileWriter(file);//读取字符流

BufferedWriter out=new BufferedWriter(tofile);

out.write(texta.getText(),0,(texta.getText()).length());

out.close();

tofile.close();

}

catch (IOException e2)

{

}

}

}

if(e.getSource()==button1)

{

char a[]=texta.getText().toCharArray();/*把texta中获得的文本,进行初始化,与原字符串长度相等,并将该字符串对象的全部字符复制到该数组a[]中*/

texta.setText(null);

int n;

char secret=' ';

for(int i=0;i

{

char c=(char)(secret^a[i]);//进行异或运算

texta.append(""+c);

}

}

if(e.getSource()==button2)

{

char a[]=texta.getText().toCharArray();

texta.setText(null);

int n;

char secret=' ';

for(int i=0;i

{

char c=(char)(secret^a[i]);//再次异或运算,即还原

texta.append(""+c);

}

}

}

}

public class E1

{

public static void main(String args[])

{

Myframe frame = new Myframe("加密与解密");

}

}

文件加密与解密算法

文件加密与解密算法的分析与应用 摘要:随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,已威胁到国家的政治、经济、军事、文化、意识形态等领域,同时,信息安全问题也是人们能否保护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件。解决信息安全的方法是加密,所以加密解密就显得日益重要。本课题重点研究常用文件加密解密算法的基本思想及实现过程中所用到的方法、技术。同时对公钥密码体制和私钥密码体制进行了分析和研究,并对公钥密码体制和私钥密码体制的代表aes算法和des算法进行了研究和比较,最后结合常用算法设计实现了简易加密解密应用软件。 关键词:解密文件加密密码体制 des aes 中图分类号:tp314 文献标识码:a 文章编 号:1672-3791(2012)06(b)-0019-01 1 引言 1.1 文件加密与解密算法应用的意义 随着因特网、全球贸易和其它活动的增长,密码技术越来越多地用于个人的标识和认证等,它是取得信息安全性最有效的一种方法,是信息安全的核心技术。通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。

对称密码算法主要用于保证数据的机密性,通信双方在加密解密过程中使用它们共享的单一密钥。最常用的是数据加密标准(des)算法,但由于des的密钥长度较短,不适合于数据加密安全性的要求。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。 本文在研究分析了aes加密原理的基础上着重说明了aes算法实现的具体步骤:扩展密钥的异或运算、列变换、行变换、s盒变换等,以及各步骤的轮换顺序、密钥扩展程序keyexpansion、优化等。 2 加密/解密算法的原理分析[1] 2.1 原理 对于aes算法,输入分组、输出分组、状态长度均为128比特。nb=4,该值反应了状态中32位字的列数。对于aes算法,密钥k的长度是128、192或256 bits。密钥长度表示为nk=4、6或8,反应了密钥中32位字的个数。对于aes算法,算法的轮数依赖于密钥长度。将轮数表示为nr,当nk=4时nr=10;当nk=6时nr=12;当nk=8时nr =14。对于加密和解密变换,aes算法使用的轮函数由4个不同的以字节为基本单位的变换复合而成。 (1)字节替代,利用一个替代表。(2)将状态矩阵的每一行循环移位不同的位移量。(3)将状态矩阵中每一列的数据进行混合。(4)将轮密钥加到状态上。 2.1.1 s盒变换:对输入矩阵的任一个元素a做如下变换s[a]

信息加密与解密实验1-1 经典密码——凯撒密码

上机实验报告 一、实验目的: 本次上机实践所涉及并要求掌握的知识点。 1、理解凯撒密码的加密、解密过程 二、实验环境 PC机一台 三、实验内容 实验一移动3位的凯撒密码: 1.(1)用移动3位的凯撒密码加密“keep this secret” (2)用移动3位的凯撒密码加密你的某位老师的名字 2.破译下列谜语的答案。这些答案是用移动3位的凯撒密码来加密的。 (1)谜语:What do you call a sleeping bull?(你怎么称呼一只 睡着的公牛?) 答案: D EXOOGRCHU (2)谜语:What is the different between a teacher and a train? (老师与火车的区别是什么?) 答案:WKH WHDFKHU VDBV “QR JXP DOORZHG” WKH WUDLQ VDBV “FKHZ FKHZ” 实验二移动4位的凯撒密码: 1.请解密下面伊薇写给艾比的便条,她使用的是移动4位的凯撒密码 WSVVC PIX’W YWI GMTLIVW JVSQ RSA SR

2.谜语:What do you call a dog at the beach ?(你怎么称呼一只在海滩 上的狗?) 答案(移动4位密码):E LSX HSK 实验三凯撒密码破解: 1.凯撒密码破解 密文:NGBKGMUUJZOSK 实验四用数传递信息的方法破译以下的谜语: 1.谜语:What kind of cookies do birds like?(鸟儿喜欢什么种类的饼干?) 答案:2,7,14,2,14,11,0,19,4 2,7,8,17,15 2.谜语:What always ends everything?(什么总是能终结所有事情?) 答案:19,7,4 11,4,19,19,4,17 四、实验总结 通过上机实践,对所学内容的某个知识点有了更深入的理解,写出一些体会、学习心得,甚至是改进意见。 也可以写对界面设计、算法设计、代码编写、程序调试、程序改进等相关的收获、感悟。 五、附录(源程序清单,包含适当的注释)

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

java文件加密解密课程设计

软件学院 课程设计报告书 课程名称面向对象程序设计 设计题目文本文档的加密与解密 专业班级财升本12-1班 学号 1220970120 姓名王微微 指导教师徐娇月 2013年 1 月

1 设计时间 2013年1月14日-2013年1月18日 2 设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程。通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3 设计任务 对文件进行加密解密 4 设计内容 4.1 需求分析 (1)给定任意一个文本文件,进行加密,生成另一个文件。 (2)对加密后的文件还原。 4.2 总体设计 4.2.1 包的描述 导入了java.awt; java.awt.event; java.io; javax.swing等包。 4.2.2 类的描述 Myframe类;E1类。其中Myframe类继承Frame类;可以扩展Frame的功能并且可以实例化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的actionPerformed 方法。 4.3 页面设计

图4.3-1 显示页面 代码实现: addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });

如何给word文档加密和解密

如何给WORD文档加密 如果Word文档不希望别人随便查看,可以通过添加打开密码来实现(当然这并不是绝对安全的)。为Word文档添加密码,给Word文档加密主要有以下几个方法: 文件加密文件菜单设置: 如果您使用的是Office word2003: 方法一: 启动Word2003(其他版本操作相似,下同),打开需要加密的文档,执行“工具→选项”命令;如下图 2、在弹出的“选项”中,选择“安全性”,然后在“打开文件时的密码”后面输入密码(一定要牢记密码哦);如下图

3、单击确定按钮后会再次提示你确认密码;再次输入刚才的密码,然后确定,加密即可成功(注意:经过加密设置后,以后需要打开该文档时,需要输入正确的密码,否则文档不能打开)。如下图

方法二:在对新建文档进行“保存”或对原有文档进行“另存为”操作时,打开“另存为”对话框。单击工具栏上的“工具”按钮,在随后弹出的下拉列表中,选“安全选项”,打开“安全选项”对话框,在“打开文件时的密码”右侧的方框中输入密码,按下确定按钮,再确认输入一次密码,确定退出,然后保存当前文档即可。 如果您使用的是Office word2007 Office Word2007无论是在界面上,还是操作上,以我们用习惯了的Word2003不大一样了。Word2007就也有有两种方法可以实现: 方法一: 1、打开文档,同样“Office按钮”,然后选择“另存为”,然后在保存文档副本中选择“Word文档”;如下图

2、在“另存为”对话框中单击下面的“工具”按钮,在下拉菜单中选择“常规选项”;如下图

3、在弹出的“常规选项”对话框中可以任意给Word文档加密。如下图

文件加密与解密实验报告

HUNAN UNIVERSITY 程序设计训练——文件加密与解密 报告 学生姓名X X X 学生学号20110102308 专业班级建环308 指导老师何英 2012-07-01至 2012-07-13

一、程序设计目的和要求 (3) 二、程序设计内容 (4) 1、总体设计 (4) 1.1主控选择模块 (4) 1.2加密模块 (4) 1.3解密模块 (4) 2、流程图 (5) 三模块详细说明 (6) 四、测试数据及其结果 (7) 五、课程设计总结 (8) 六、附录 (9) 附录1:参考文献 (9) 附录2:程序源代码 (9)

一、程序设计目的和要求 1、目的:为保证个人数据资料不被他人窃取使用,保护个人隐私及个人文件。设计一个基于c语言的文本文件加密及解密软件,可以方便对文本文件的加密与解密。本设计实现了文本文件的解密及解密,运行软件之后只需输入任意一个文本文件的文件名及后缀名即可对该文本文件进行加密或解密操作。本设计的加密与解密系统,使用了面向各类文件的方法,运用Microsoft Visual C++ 6.0实现具有加密、解密、帮助信息、读取文本文件、显示结果、退出等功能的文件加密与解密系统。 2、要求: (1)从键盘输入要进行加密的一行字符串或者需要加密的文件名。 (2)显示菜单: (3)选择菜单,进行相应的操作。加密方法是设置一加密字符串以及对文件的哪些部分进行加密;加密是将原始文件加密并保存到文件中;解密是将加了密的文件还原并保存到文件中,同时应比较与原始文件的一致性; 3、其他要求 (1)变量、函数命名符合规范。 (2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。

信息加密技术

信息加密技术研究 摘要:随着网络技术的发展,网络在提供给人们巨大方便的同时也带来了很多的安全隐患,病毒、黑客攻击以及计算机威胁事件已经司空见惯,为了使得互联网的信息能够正确有效地被人们所使用,互联网的安全就变得迫在眉睫。 关键词:网络;加密技术;安全隐患 随着网络技术的高速发展,互联网已经成为人们利用信息和资源共享的主要手段,面对这个互连的开放式的系统,人们在感叹现代网络技术的高超与便利的同时,又会面临着一系列的安全问题的困扰。如何保护计算机信息的安全,也即信息内容的保密问题显得尤为重要。 数据加密技术是解决网络安全问要采取的主要保密安全措施。是最常用的保密安全手段,通过数据加密技术,可以在一定程度上提高数据传输的安全性,保证传输数据的完整性。 1加密技术 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理。使其成为不可读的一段代码,通常称为“密文”传送,到达目的地后使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径达到保护数据不被人非法窃取、修改的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。数据加密技术主要分为数据传输加密和数据存储加密。数据传输加密技术主要是对传输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。 2加密算法 信息加密是由各种加密算法实现的,传统的加密系统是以密钥为基础的,是一种对称加密,即用户使用同一个密钥加密和解密。而公钥则是一种非对称加密方法。加密者和解密者各自拥有不同的密钥,对称加密算法包括DES和IDEA;非对称加密算法包括RSA、背包密码等。目前在数据通信中使用最普遍的算法有DES算法、RSA算法和PGP算法等。 2.1对称加密算法 对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄漏出去,这样就可以实现数据的机密性和完整性。对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。DES算法是目前最为典型的对称密钥密码系统算法。 DES是一种分组密码,用专门的变换函数来加密明文。方法是先把明文按组长64bit分成若干组,然后用变换函数依次加密这些组,每次输出64bit的密文,最后将所有密文串接起来即得整个密文。密钥长度56bit,由任意56位数组成,因此数量高达256个,而且可以随时更换。使破解变得不可能,因此,DES的安全性完全依赖于对密钥的保护(故称为秘密密钥算法)。DES运算速度快,适合对大量数据的加密,但缺点是密钥的安全分发困难。 2.2非对称密钥密码体制 非对称密钥密码体制也叫公共密钥技术,该技术就是针对私钥密码体制的缺陷被提出来的。公共密钥技术利用两个密码取代常规的一个密码:其中一个公共密钥被用来加密数据,而另一个私人密钥被用来解密数据。这两个密钥在数字上相关,但即便使用许多计算机协同运算,要想从公共密钥中逆算出对应的私人密钥也是不可能的。这是因为两个密钥生成的基本原理根据一个数学计算的特性,即两个对位质数相乘可以轻易得到一个巨大的数字,但要是反过来将这个巨大的乘积数分解为组成它的两个质数,即使是超级计算机也要花很长的时间。此外,密钥对中任何一个都可用于加密,其另外一个用于解密,且密钥对中称为私人密钥的那一个只有密钥对的所有者才知道,从而人们可以把私人密钥作为其所有者的身份特征。根据公共密钥算法,已知公共密钥是不能推导出私人密钥的。最后使用公钥时,要安装此类加密程序,设定私人密钥,并由程序生成庞大的公共密钥。使用者与其向联系的人发送

如何运用加密技术保护Java源代码

如何运用加密技术保护Java源代码 Java程序的源代码很容易被别人偷看,只要有一个反编译器,任何人都可以分析别人的代码。本文讨论如何在不修改原有程序的情况下,通过加密技术保护源代码。 一、为什么要加密? 对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以。遗憾的是,Java程序的源代码很容易被别人偷看。只要有一个反编译器,任何人都可以分析别人的代码。Java的灵活性使得源代码很容易被窃取,但与此同时,它也使通过加密保护代码变得相对容易,我们唯一需要了解的就是Java的ClassLoader对象。当然,在加密过程中,有关Java Cryptography Extension(JCE)的知识也是必不可少的。 有几种技术可以“模糊”Java类文件,使得反编译器处理类文件的效果大打折扣。然而,修改反编译器使之能够处理这些经过模糊处理的类文件并不是什么难事,所以不能简单地依赖模糊技术来保证源代码的安全。 我们可以用流行的加密工具加密应用,比如PGP(Pretty Good Privacy)或GPG(GNU Privacy Guard)。这时,最终用户在运行应用之前必须先进行解密。但解密之后,最终用户就有了一份不加密的类文件,这和事先不进行加密没有什么差别。 Java运行时装入字节码的机制隐含地意味着可以对字节码进行修改。JVM每次装入类文件时都需要一个称为ClassLoader的对象,这个对象负责把新的类装入正在运行的JVM。JVM给ClassLoader一个包含了待装入类(比如https://www.360docs.net/doc/7d12177354.html,ng.Object)名字的字符串,然后由ClassLoader负责找到类文件,装入原始数据,并把它转换成一个Class对象。 我们可以通过定制ClassLoader,在类文件执行之前修改它。这种技术的应用非常广泛??在这里,它的用途是在类文件装入之时进行解密,因此可以看成是一种即时解密器。由于解密后的字节码文件永远不会保存到文件系统,所以窃密者很难得到解密后的代码。 由于把原始字节码转换成Class对象的过程完全由系统负责,所以创建定制ClassLoader对象其实并不困难,只需先获得原始数据,接着就可以进行包含解密在内的任何转换。 Java 2在一定程度上简化了定制ClassLoader的构建。在Java 2中,loadClass的缺省实现仍旧负责处理所有必需的步骤,但为了顾及各种定制的类装入过程,它还调用一个新的findClass方法。 这为我们编写定制的ClassLoader提供了一条捷径,减少了麻烦:只需覆盖findClass,而不是覆盖loadClass。这种方法避免了重复所有装入器必需执行的公共步骤,因为这一切由loadClass负责。 不过,本文的定制ClassLoader并不使用这种方法。原因很简单。如果由默认的ClassLoader先寻找经过加密的类文件,它可以找到;但由于类文件已经加密,所以它不会

常见格式文件的加密和解密

常用格式文件的加密解密方法 庆云县水务局项目办 二〇一二年五月二十三日

目录 0、引子 1 1、新建word文件的加密方法1 1.1任务1 1.2基本步骤1 1.3示范1 2、原有word文件的加密方法4 3、Excel文件的加密方法 4 3.1任务4 3.2基本步骤4 3.3示范4 4、CAD文件的加密方法 5 4.1任务5 4.2基本步骤6 4.3示范6 5、文件的解密方法8 5.1任务8 5.2基本步骤8 5.3示范8

0、引子 我们的日常工作,往往是处理一些文字、表格和图纸。最常用的文件格式有word、excel和CAD。怎样加密、解密这些格式的文件,是我们常遇到的问题。由于文件的加密、解密方法大致一样,所以,这里只介绍这三种文件的加密解密方法。其它格式的文件加密解密,可以参照进行。 加密解密文件需要知道文件格式的后缀名,后缀名又称文件扩展名,是操作系统用来标志文件格式的一种机制。通常来说,一个扩展名是跟在主文件名后面的,由一个分隔符分隔。如文件名“readme.txt”中,readme是主文件名,.txt为扩展名,表示这个文件被认为是一个纯文本文件。常见文档类型及其后缀名和打开方式详见下表。 常见文档类型及其后缀名和打开方式: 1、新建word文件的加密方法 1.1任务 对新建word文档1(未曾保存)进行加密 1.2基本步骤 ①打开菜单“文件”→②点击“另存为”选项→③点击“工具”按钮→④选定“安全措施选项(C)”→⑤输入密码→⑥确定→⑦再次输入密码→⑧确定→⑨保存。 1.3示范 ①打开菜单“文件”:点击菜单栏最左侧的“文件”按钮,弹出“文件”下拉列表; ②点击“另存为”选项:点击“文件”下拉列表的“另存为”选项,弹出“另存为”对话框,如图1所示。

Oracle 实现 加密与解密

一、加密 CREATE OR REPLACE PROCEDURE LF.p_encrypt (decrypted_string1 in varchar2,encrypted_string1 out raw) IS key_string VARCHAR2(8):='shuanciy'; encrypted_string VARCHAR2(1000); encrypted_raw raw(1000); rawkey raw(240); decrypted_key VARCHAR2(24); iMode integer; BEGIN iMode:=1; decrypted_key:=Lpad(to_char(decrypted_string1),24,'0'); for i in1..length(key_string) loop rawkey := rawkey||hextoraw(to_char(ascii(substr(key_string, i,1)))); end loop; encrypted_string:=dbms_obfuscation_toolkit.DES3Encrypt( decrypted_key, key_string => rawkey, which => iMode); encrypted_raw := UTL_RAW.CAST_TO_RAW(encrypted_string); encrypted_string1:=encrypted_raw; END; / CREATE OR REPLACE FUNCTION LF.SF_P_ENCRYPT(abc IN RAW) RETURN VARCHAR2 IS bcd VARCHAR2(500); ----------------------------------------------- ---加密function add by Near 2015-02-03 ----------------------------------------------- BEGIN p_encrypt (decrypted_string1 => abc, encrypted_string1 => bcd); RETURN(bcd); END; / 二、解密 CREATE OR REPLACE PROCEDURE LF.p_decrypt (encrypted_string1 in raw,decrypted_string1 out varchar2) IS key_string VARCHAR2(8):='shuanciy'; rawkey raw(240);

(完整版)教科版高一信息技术必修1第三单元3.4加密和解密教学设计

3.4 加密与解密 本节内容按2课时设计。 第一课时 教学重难点 【教学重点】会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。 【教学难点】用穷举法破解密码。 【教学过程】 一、引入 1.学生预习,阅读第77页“任务一解开网站账号被盗之谜”之“活动1 防范‘盗窃’行为”,填写第78页的表3.4.1。 2.教师检查,并评讲填写情况,引出数据安全、密码的话题。 表3.4.1 密码盗窃与防盗分析表 二、密码 密码是指用来核对用户ID以验证用户就是本人的一组字符。 活动2设置安全密码 打开教科书配套资源中的“数据安全性测试.py”,运行并测试穷举搜索一个5位、7位和9位的数字密码,分别需要多长时间,填写表3.4.2。(详见配套资源“数据安全性测试(有界面).fld”和“数据安全性测试(有界面).py”) 表3.4.2 穷举搜索密码需要的时间

实现穷举搜索的自定义函数jiemi()的程序代码如下: def jiemi(): d1=datetime.datetime.now() #获取当前系统时间d1 p=int(varin.get()) #获取输入文本框的数字密码 for i in range(0,p+1): #从0循环到正确密码数值 if i==p: #如果密码相同 d2=datetime.datetime.now() #获取当前系统时间d2 d=d2-d1 #取得时间差 #在输出文本框中显示解密用时 varout.set(str(d.seconds)+"秒"+str(d.microseconds/1000)+"毫秒") 程序运行效果如下: 【比一比】当然,我们也可以编写无可视化界面的程序,程序更简单。(详见配套资源“数据安全性测试(无界面).py”) 程序运行效果如下: 请比较有可视化界面与无可视化界面两个程序运算的快慢,将最快的结果填入表3.4.2。 【算一算】 你的电脑1秒最多能试探大约多少个整数密码? 【做一做】 1.有可视化界面程序中的jiemi()函数中的for循环改为while条件循环:

加密狗加密与解密方法技术白皮书

加密狗加密与解密方法 加密狗加密方法 1 打开EZCAD软件包,找到“JczShareLock3.exe”执行程序。 2 双击执行该程序,弹出“Select parameter”对话框,如图1所示。在图中可以看出我 们可以设置两级密码,这两个密码是完全独立的,其中任何一次使用达到设定要求以后,加密狗就会限定板卡的使用权限。如同时设置两级密码,权限应不同,即这两个密码设置的时间等权限长短不一。如图,软件默认的是一级密码选中状态,如果想选择二级密码直接点选即可。 图1 Select Parameter 3 当我们选择好设定密码的级数后,点击确定按钮,弹出“JczShareLock”对话框,如图 2是软件默认的发布版界面,点击下拉菜单,我们可以选择共享版模式,如图3。 图2 发布版界面

图3 共享版界面 下面我们分别说明发布版模式和共享版模式的加密方法。 4 首先是发布版模式如图2。发布版模式下没有次数,天数,时间等的设置,只有密码设 置,主要应用于保护自己模式的设置,防止别人更改。点击“写入/Write In”按钮,进入密码写入界面。如图4。如果我们是第一次写入密码,那么就直接勾选修改密码选项,在新密码下面的前一个输入栏里输入4位数字,在后面的输入栏里输入4数字,这样完成了密码的初步设定,然后在确认密码下的输入栏内重复输入上面设定的密码,然后点击确认,完成密码的设定。如果我们是修改密码的话,那么我们首先要在密码写入界面上方的输入密码下的正确输入栏内输入以前设定的密码,然后在勾选修改密码,输入新的密码。否则修改密码就会失败,并出现“密码错误”提示信息。 图4 密码写入界面 5 共享版的密码设定,如图3是共享版的界面。在这里我们首先要设定好限制使用的次数, 天数,时间,直接在后面的输入栏内直接输入即可。这里注意:我们所设定的时间,天数是以软件运行所在电脑的内部时钟为准的,我们编写之前一定要注意,我们所使用的电脑的时间是否准确。设定好这些后点击“写入/Write In”按钮,进入密码写入界面。 共享版的密码写入界面与发布版是一样的,操作也相同,可参考步骤4进行操作。

(完整版)教科版高一信息技术必修1第三单元3.4加密和解密教学设计

3.4 加密与解密 本节内容按2 课时设计。 第一课时 教学重难点 【教学重点】会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。 【教学难点】用穷举法破解密码。 【教学过程】 一、引入 1. 学生预习,阅读第77 页“任务一解开网站账号被盗之谜”之“活动1 防范‘盗窃'行为”,填写第78 页的表3.4.1 。 2. 教师检查,并评讲填写情况,引出数据安全、密码的话题。 3.4.1 二、密码 密码是指用来核对用户ID以验证用户就是本人的一组字符。 活动2设置安全密码 打开教科书配套资源中的“数据安全性测试.py ”,运行并测试穷举搜索一个5 位、7位和9位的数字密码,分别需要多长时间,填写表3.4.2 。(详见配套资源“数据安全性测试(有界面).fld ”和“数据安全性测试(有界面).py ”) 表3.4.2 穷举搜索密码需要的时间

# 在输出文本框中显示解密用时 varout.set(str(d.seconds)+" 秒"+str(d.microseconds/1000)+" 毫秒") 程序运行效果如下: 【比一比】当然,我们也可以编写无可视化界面的程序,程序更简单 配套资源“数据安全性测试(无界面).py ”) 程序运行效果如下: 请比较有可视化界面与无可视化界面两个程序运算的快慢,将最快的结果填入表3.4.2 。 你的电脑1秒最多能试探大约多少个整数密码? 【做一做】 1. 有可视化界面程序中的jiemi() 函数中的for 循环改为while 条件循环: 实现穷举搜索的自定义函数 jiemi() def jiemi(): d1=datetime.datetime.now() # p=int(varin.get()) # for i in range(0,p+1): # if i==p: # d2=datetime.datetime.no w() d=d2-d1 # 的程序代码如下: 获取当前系统时间d1 获取输 入文本框的数字密码从0循环 到正确密码数值如果密码相同 # 获取当前系统时间d2 取得时间差 详见

java文件加密课程设计

结业报告 课程名称:网络安全技术 设计题目:java实现文件加密 系别:***学院 专业:*************** 组员:**************************起止日期***************** 指导教师:***

摘要 目前世界范围内的信息安全问题越来越严重。解决信息安全问题涉及面很广,它包括技术,管理.制度,人员和法律等诸多方面,但最核心部分是密码技术。密码技术是实现一种变换,它使得对大量信息的保护变为对少量密钥的保护。 本次结业设计以文件的加密与解密问题为主要研究讨论方向。先对加密技术进行查找资料。然后对加密方法进行概述,而后对3DES加密进行详细介绍何分析,并对结业设计成果进行演示,最后附上代码。由于本次结业设计时间仓促外加能力有限,有诸多不足之处以及可能存在某些为发现错误还请批评指正。感谢之至。 关键词:加密解密密钥 3DES Abstract At present, the problem of information security is more and more serious in the world. To solve the problem of information security involves a wide range, including technology, management, system, personnel and law, etc., but the most important part is the password technology. Password technology is to achieve a transformation, which makes the protection of a large number of information into a small number of key protection. The graduation project to document encryption and decryption issues as the main research and discussion. First, the encryption technology to find information. Then the encryption method is outlined, and then the 3DES encryption for detailed analysis, and the completion of the design results are demonstrated, and finally attached to the code. Due to the limited capacity of the completion of this graduation project, there are many deficiencies and there may be some to find errors also please criticism. Thanks to.

ASE加密与解密

ASE加密与解密 using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Security.Authentication; using System.Security.Cryptography; namespace XMLRead_Encoder { class RebectASE { ///

/// AES加密 /// /// 要加密的字符串 /// 密钥 /// 向量 /// 返回加密完字符串,加密失败返回false public static string AESEncrypt(string plainStr,string IV,string Key) { byte[] bKey = Encoding.UTF8.GetBytes(Key); byte[] bIV = Encoding.UTF8.GetBytes(IV); byte[] byteArray = Encoding.UTF8.GetBytes(plainStr); string encrypt = null; Rijndael aes = Rijndael.Create(); try { using (MemoryStream mStream = new MemoryStream()) { using (CryptoStream cStream = new CryptoStream(mStream, aes.CreateEncryptor(bKey, bIV), CryptoStreamMode.Write)) { cStream.Write(byteArray, 0, byteArray.Length); cStream.FlushFinalBlock(); encrypt = Convert.ToBase64String(mStream.ToArray()); } } } catch { return "false";

Java方法加密与解密

我们在Web开发中,经常要保证密码的安全性,那么怎么对密码进行处理了?首先得进行加密吧!下面我介绍下Java提供的SHA加密方式; SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局(NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数。正式名称为SHA 的家族第一个成员发布于1993年。然而人们给它取了一个非正式的名称SHA-0 以避免与它的后继者混淆。两年之后,SHA-1,第一个SHA 的后继者发布了。另外还有四种变体,曾经发布以提升输出的范围和变更一些细微设计:SHA-224, SHA-256, SHA-384 和SHA-512 (这些有时候也被称做SHA-2)。 [java]view plain copy 1.package com.chinadatapay.util; 2. 3.import java.security.MessageDigest; 4. 5./** 6. * SHA 加密算法 7. * @author DELL 8. * 9. */ 10. 11.public class SHAencrypt { 12. 13./** 14. * 定义加密方式 15. */ 16.private final static String KEY_SHA = "SHA"; 17.private final static String KEY_SHA1 = "SHA-1"; 18. 19./** 20. * 全局数组 21. */ 22.private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5" , 23."6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; 24. 25./**

实验9 加密与解密实验

新疆师范大学 计算机网络安全(本科) 实验报告 实验名称:实验9 加密与解密实验 院系:计算机科学技术学院 班级: 2011-01班 学生姓名:木拉提·巴力 学号: 20111601141025 合作者姓名:米热古丽·塔力浦 指导教师:赵新元老师 教师评阅结果: 教师评语: 实验日期 2014 年 12 月 28 日

一、实验目的 1、掌握Caeser密码原理,理解Caeser密码加密、解密过程。 2、了解使用程序实现DES和RSA加解密。 3、学会使用PGP加密软件加密文件与邮件。 二、实验内容 1、编写实现Caeser密码加密、解密 2、了解程序实现DES和RSA加密、解密 3、使用PGP加密文件 4、使用PGP加密邮件 三、实验原理 请简介一下PGP加密的基本原理。 四、实验步骤 1、编写一个程序能够实现Caeser加密与解密。假定Caeser密码的偏移量为3,本程序只对小写字符进行加密,要求用户从键盘输入你的姓名拼音(假设长度小于100),将其进行加密后显示出来,然后再显示出原文。请截图显示你的程序运行结果,并附上源代码。 1.加密程序运行结果: 源代码: #include "stdafx.h" #include #include #define MAXSIZE 100

int main() { char str[MAXSIZE]; int i; int offset; int n; printf("请输入要加密的字符串:"); gets(str); printf("请输入要偏移量:"); //若将a变为b,则偏移量为1,以此类推,偏移量在1-25之间 scanf("%d%*c", &offset); n = strlen(str); for (i = 0; i < n; i++) { if ('a' <= str[i] && str[i] <= 'z' - offset || 'A' <= str[i] && str[i] <= 'Z' - offset) str[i] += offset; else str[i] += offset - 26; } printf("加密后的字符串是:"); puts(str); return 0; } 2.解密程序运行结果: 源代码:

Java课程设计之加密和解密

课程设计(论文)任务书 软件学院软件工程专业班 一、课程设计(论文)题目加密与解密 二、课程设计(论文)工作自年月日起至年月日止。 三、课程设计(论文) 地点: 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生巩固和提高Java编程技术 (2)培养学生掌握程序设计的基本思路和方法; (3)加强学生研发、调试程序的能力; (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)任务: (1)设计GUI界面的Hannoi塔,用户可以通过拖动鼠标移动各个塔上的盘子,程序 也可以自动演示盘子的移动过程。; (2)有三个表示塔的对象,分别命名为A、B和C。A塔上有若干个盘子,盘子的大小 不等,并按着大小顺序依次摆放在A塔上,大盘在下,小盘在上。用户可以用鼠标拖 动盘子,把A 塔上的盘子全部移动到另外两个塔中的任何一个塔上。要求每次只能移 动一个盘子,在任何时候不允许大盘压在小盘的上面。 (3)用户也可以选择让程序自动演示。选择自动演示后,程序将以动画形式演示把A 塔上的盘子全部移到C塔的过程,并将移动过程以文本形式显示在一个文本区中。 2)创新要求: 在基本要求达到后,可进行创新设计,增加功能和游戏趣味性。 3)课程设计论文编写要求 (1)课程设计任务及要求 (2)需求分析 (3)设计思路--工作原理、功能规划 (4)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代码及注释)、界面等。 (4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。 (6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式) (7) 报告按规定排版打印,要求装订平整,否则要求返工; (8) 课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录(代码

文件的加密解密压缩和压缩文件密码的管理

日常生活中我们通常会分享一些个人视频,但处于隐私考虑,我们会想到给文件加密,嗯,不错,但是我们常用的的视频格式是不支持文件加密的,怎么办?看到网上一些网站有时分享软件时会将软件打包成RAR或ZIP压缩格式并加密,只有访问网站源地址才能获得密码,即提高了网站访问量又将一些不太好找的软件分享给大家。那么我们就依照这个思路用压缩软件压缩视频并加密后上传到各大网盘分享给朋友,这样不仅间接的将视频进行了加密,保护了我们的个人隐私,更是将较大的视频文件批量的进行了分享。但很多人只进行过文件的解压/压缩,并不知道如何加密或者是并不会进行灵活的加密密码管理,这里笔者就像大家介绍一下如何给文件加密压缩并管理密码。 一般的常规方法是选定要压缩的文件并右击,在弹出的菜单中选择“添加到压缩文件” 弹出压缩选项,1.选定压缩格式 2.点击“设置密码”在这里笔者要说一下,如果选定RAR格式,在解压或打开时不会显示包内文件名,而选定ZIP格式,在解压或打开时会显示包内文件名,所以笔者建议大家如果对文件的保密程度要求较高那么就选RAR格式,因为ZIP格式不支持文件名加

密。 设置好密码点击“确定” 等待文件压缩好,这样就完成了文件的压缩加密

当然,我们有时要对没有加密的压缩文件设定密码,需要注意的是下列方法需要使用好压软件,并且文件格式为ZIP(RAR文件不支持),笔者上述使用的WINRAR无法进行下列操作,大家需要用好压进行操作。 先打开这个压缩文件,点击“文件”-“密码” 弹出窗口后选择“密码”选项卡,点击“设置新的密码”设置好密码然后点击“确定”即可

如果你想把压缩包中的密码清除掉,则选“清除已有密码”,然后点“确定”,会弹出提示让你输入之前设置的密码,输入后确定即可清除掉密码 下面笔者再介绍一下在WINRAR中的文件压缩密码管理 首先打开WINRAR,然后选择“选项”-“设置”

相关文档
最新文档