求大神编写程序:数据的简单加密与解密

求大神编写程序:数据的简单加密与解密,第1张

#include <iostream>

using namespace std;

char mystr[1000];

void jiami()/////加密

{

int j=0,i='a';

gets(mystr);

for(i,j=0;j<strlen(mystr);i++,j++)

{

mystr[j]=mystr[j]+i;

}

cout<<"加密结果为:\n";

}

void show()

{

puts(mystr);

}

void jiemi()///解密

{

int j=0,i='a';

for(i,j=0;j<strlen(mystr);i++,j++)

{

mystr[j]=mystr[j]-i;

cout<<"解密结果为:\n";

}

int main()

{

jiami();

show();

jiemi();

show();

}

#include<stdioh>

#include<stringh>

#include<stdlibh>

main()

{

void sc(char fp,char key,int Flen,int Klen);

FILE fp;

char pBuf,filename[20],key[20],ch;

printf("请输入选择:A、加密 B、解密 C退出\n");

ch=getchar();

while(ch!='c'&&ch!='C')

{

if(ch=='a'||ch=='A'||ch=='b'||ch=='B')

{

printf("请输入要打开的文件名:\n");

scanf("%s",filename);

if((fp=fopen(filename,"rb"))==NULL)

{printf("无法打开文件,请注意输入后缀!\n");<br/> exit(0);<br/> }

fseek(fp,0,SEEK_END);

int len=ftell(fp);

pBuf=new char[len+1];

rewind(fp);

fread(pBuf,1,len,fp);

pBuf[len]=0;

printf("%s\n",pBuf);

fclose(fp);

printf("请输入加密/解密的密码:\n");

scanf("%s",key);

sc(pBuf,key,len,strlen(key));

printf("请输入保存加密文件的文件名:\n");

scanf("%s",filename);

if((fp=fopen(filename,"wb"))==NULL)

{printf("无法保存文件,请注意磁盘是否已满!\n");<br/> exit(0);<br/> }

else

fwrite(pBuf,1,len,fp);

fclose(fp);

printf("请输入选择:A、加密 B、解密 C退出\n");

}

else {

printf("输入错误,请重新输入\n");

}

ch=getchar();

ch=getchar();

}

}

void sc(char fp,char key,int Flen,int Klen)

{int i,j,k;<br/>for(i=0;i<Flen;i+=Klen)<br/>for(j=i,k=0;k<Klen;j++,k++)<br/>fp[j]^=key[k];<br/><br/>fp[i]='\0';<br/>printf("%s\n",fp);<br/>}

// playFair 加密 你参考下

#include"stdioh"

#include"stringh"

#include"stdlibh"

#define x 50

char MiYao[x],PassWord[x],AddPass[x],Table[5][5],Map[25];

bool Visit[27]={false};

char English[27]="abcdefghijklmnopqrstuvwxyz";

void Input()

{

printf("请输入密钥:\t"); scanf("%s",MiYao);

printf("请输入待加密密码:\t"); scanf("%s",PassWord);

}

void Fun_5x5()

{

int count = 0,V =0;

/标记密钥内字符为: true/

for(int i=0;MiYao[i]!='\0';i++)

if(strchr(English,MiYao[i])!=NULL)

Visit[strchr(English,MiYao[i])-English] = true;

/执行密钥矩阵 *** 作 并标记已使用字符:true/

for(int i=0;i<5;i++)

for(int j=0;j<5;j++)

{

if(count<strlen(MiYao))

Table[i][j] = MiYao[count++];

else

{

while(Visit[V] != false) V++;

Table[i][j] = English[V];

Visit[V++] = true;

}

}

puts("∞∞∞密钥矩阵为∞∞∞");

for(int i=0;i<5;i++)

{ for(int j=0;j<5;j++)

printf("%3c",Table[i][j]);

puts("");

}

puts("∞∞∞∞∞∞∞∞∞∞∞");

}

int IsVisited(char ch)

{

return Visit[strchr(English,ch)-English]; //false 未出现过

}

void TabletoMap()

{ int count=0;

for(int i=0;i<5;i++)

for(int j=0;j<5;j++)

Map[count++]=Table[i][j];

Map[count]='\0';

}

void Judge()

{

int len = strlen(PassWord),i,j,k;

memset(AddPass,0,sizeof(char));

/一对对去字母,剩下单个字母,则不变化,直接放入加密串中/

if(len%2){

AddPass[len-1] = PassWord[len-1];

len -=1;

}

/一对中 密钥矩阵中 存在矩阵 egab 先输出a同行顶点在输出b同行顶点/

int row1,low1,row2,low2,a1,a2;

for(i=0;i<len;i+=2)

{

char c1,c2;

c1 = PassWord[i];

c2 = PassWord[i+1];

/一对中 两字母相同 无变化/

/一对中 有字母不在密钥矩阵中 无变化/

if(c1 == c2 || ( !IsVisited(c1)||!IsVisited(c2)))

{ AddPass[i] = c1;

AddPass[i+1]=c2;

}else{

a1 = strchr(Map,c1)-Map;

row1 = a1/5; low1 = a1%5;

a2 = strchr(Map,c2)-Map;

row2 = a2/5; low2 = a2%5;

/一对中 字符出现在同行或同列 简单swap字符/

if(row1 == row2 || low1 == low2)

{

AddPass[i] = c2;

AddPass[i+1] = c1;

}else{

AddPass[i] = Table[row1][low2];

AddPass[i+1] = Table[row2][low1];

}

}

}AddPass[len+1]='\0';

puts("加密后字符串:");

puts(AddPass);

puts("原串是:");

puts(PassWord);

}

int main()

{

Input();

Fun_5x5();

TabletoMap();

Judge();

return 0;

}

问题一:加密文件如何解密 点击“开始→运行”菜单项,在出现的对话框中输入“certmgrmsc”,回车后,在出现的“证书”对话框中依次双击展开“证书-当前用户→个人→证书”选项,在右侧栏目里会出现以你的用户名为名称的证书。选中该证书,点击鼠标右键,选择“所有任务→导出”命令,打开“证书导出向导”对话框。在向导进行过程中,当出现“是否要将私钥跟证书一起导出”提示时,要选择“是,导出私钥”选项,接着会出现向导提示要求密码的对话框。为了安全起见,可以设置证书的安全密码。当选择好保存的文件名及文件路径后,点击“完成”按钮即可顺利将证书导出,此时会发现在保存路径上出现一个以PFX为扩展名的文件。当其他用户或重装系统后欲使用该加密文件时,只需记住证书及密码,然后在该证书上点击右键,选择“安装证书”命令,即可进入“证书导入向导”对话框。按默认状态点击“下一步”按钮,输入正确的密码后,即可完成证书的导入,这样就可顺利打开所加密的文件。

问题二:加密文件夹如何解密 一、加密文件或文件夹

步骤一:打开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,进行适当更改后才能打开加密文件。

问题四:文件夹加密后忘记密码,怎么才能解密? 我知道用《文件加密大师破解版》就可以了。 你去百度上搜,然后下载到本地电脑上运行,按照他的提示你 *** 作就可以了。这种事很简单的。 或者你下载《 高强度文件夹加密大师 9000 Build 6502 简体中文破解版》 地址: jz5u/Codelist/Catalog166/1917

问题五:电脑中的加密文件夹如何找到,打开 首先得选择显示所以文件,包括隐藏文件。。加密的话,没密码你是进不去的

问题六:word文档加密了怎么解密啊 10分 方法一:插入文件法

启动WORD,新建一个空白文档,执行“插入――〉文件”命令,打开“插入文件”对话框,定位到需要解除保护的文档所在的文件夹,选中相应文档,单击“插入骇按钮,将加密保护的文档插入到新文档中,文档保护会被自动撤销。

方法二:文件另存法

打开保护的文档,执行“文件――〉另存为”命令,打开“另存为”对话框,将“文件类型”选定为“WORD97―2003&60/95―RTF(doc)”,然后取名保存,关闭该文档,重新打开一下,执行“工具――〉取消文档保护”命令即可。

或者将文件类型另存为HTML,然后将其中的内容,复制粘贴到新建文档中。

方法三:写字板法

启动写字板,打开保护的WORD文档,另存为WORD文档,同时可以取消对文档的保护。

但此方法可能会使文档中的等要素丢失。

问题七:文件以前加密更换电脑后怎样解密 步骤一:打开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机器上对用“备份恢复”程序备份的以前的加密文件夹的恢复访问权限

将加密文件夹用“备份恢复”程序备份,然后把生成的Backupbkf连同这个证书拷贝到另外一台WinXP机器上,用“备份恢复”程序将它恢复出来(>>

问题八:加密后的文件夹没有权限解密怎么办 如果选择的是“将这个文件夹作为专用”,那么使用的是ACL用户权限控制,解除ACL用户权限控制方法如下:打开“控制面板→文件夹选项”,在查看标签页下清除“使用简单共享”前面的复选项,点击确定按钮。然后右键点击C:\Documents and Settings\用户名\ My Documents,选择安全选项卡,在组和用户里面把自己的账户添加进去即可。如果使用的是“属性→高级→加密以便保护数据”,那么你使用的是EFS加密技术。EFS加密技术用数字证书对文件进行加密。要解开EFS加密,需要使用加密时进行 *** 作的账户登录,然后进行加密 *** 作的逆 *** 作。

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

你可以试一下下面的小方法:

1工具-文件夹选项-查看-使用简单文件夹共享 (把前面的勾勾去掉)

2在加密的文件上点右键-属性-安全-高级-所有者-替换所有者(把下面替换子容器的选项打上勾) 替换成你自己的用户

这个方法能用,你就算运气好,不行的话我也没有办法 了!

EFS加密非常危险,我推荐你使用专业的文件夹加密软件文件夹加密超级大师来加密您的文件夹。

在分区格式为NTFS的硬盘上设置文件加密后,文件夹(或文件)变成绿色,windows系统自动生成密钥。所以,该密钥只认设置了文件加密的账户,其它账户不可以读取。下面,为你带来“如何加密和解密文件”,大家一起来看看吧。

一、加密文件或文件夹

步骤一:打开Windows资源管理器。

步骤二:右键单击要加密的文件或文件夹,然后单击“属性”。

步骤三:在“常规”选项卡上,单击“高级”。选中“加密内容以便保护数据”复选框

在加密过程中还要注意以下五点:

1要打开“Windows 资源管理器”,请单击“开始→程序→附件”,然后单击“Windows 资源管理器”。

2只可以加密NTFS分区卷上的文件和文件夹,FAT分区卷上的文件和文件夹无效。

3被压缩的文件或文件夹也可以加密。如果要加密一个压缩文件或文件夹,则该文件或文件夹将会被解压,There is a feeling called love。

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,如果你加密用户不是管理员就不会出现这个窗口,直接到下一步) 。

步骤六:单击“关闭”,然后单击“确定”。

步骤七:双击“证书──当前用户”,双击“个人”,然后双击“证书”。

步骤八:单击“预期目的”栏中显示“加密文件”字样的证书。

步骤九:右键单击该证书,herve paris,指向“所有任务”,然后单击“导出”。

步骤十:按照证书导出向导的指示将证书及相关的私钥以PFX文件格式导出(注意:推荐使用“导出私钥”方式导出,air max 2009,这样可以保证证书受密码保护,以防别人盗用。另外,证书只能保存到你有读写权限的目录下)。

4保存好证书

注意将PFX文件保存好。以后重装系统之后无论在哪个用户下只要双击这个证书文件,导入这个私人证书就可以访问NTFS系统下由该证书的原用户加密的文件夹(注意:使用备份恢复功能备份的NTFS分区上的加密文件夹是不能恢复到非NTFS分区的)。

最后要提一下,这个证书还可以实现下述用途:

(1)给予不同用户访问加密文件夹的权限

将我的证书按“导出私钥”方式导出,将该证书发给需要访问这个文件夹的本机其他用户,请你转载一下吧。然后由他登录,导入该证书,实现对这个文件夹的访问。

(2)在其也WinXP机器上对用“备份恢复”程序备份的以前的加密文件夹的恢复访问权限

将加密文件夹用“备份恢复”程序备份,然后把生成的Backupbkf连同这个证书拷贝到另外一台WinXP机器上,用“备份恢复”程序将它恢复出来(注意:只能恢复到NTFS分区)。然后导入证书,即可访问恢复出来的文件了。

通常加密解密都是采用异或运算

例如:

char c = 'A';

c ^= (char)7; // 加密, 此时c的值是'F'

c ^= (char)7; // 解密, 此时c的值是'A'

这个只是一个简单的例子, 密钥是7, 你可以进行多次异或运算来提高算法难度

我已经在另一个问题中回答了

>

这里只给出按钮事件的过程,加密算法(函数)你自己想办法:

设加密算法函数名为encryptxt,解密算法函数名为unencryptxt,不带参数。

加密窗口“生成密文”按钮事件:

Private sub 生成密文_Click()

Frame1Caption = encryptxt (Text1text)

End Sub

解密窗口“解密”按钮事件:

Private Sub 解密_Click()

Frame2Caption = unencryptxt(Rrame1Caption)

End Sub

以上就是关于求大神编写程序:数据的简单加密与解密全部的内容,包括:求大神编写程序:数据的简单加密与解密、c语言程序设计文件加密解密、用C语言设计一个加密 解密 密码 的程序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9434843.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存