文本加密解密算法(文本加密破解)

2023-02-28 18:15:19 密语知识 思思

请教各位大神怎样给文本文档加密

对txt加密可以试试 域之盾软件

域之盾软件的加密解密操作都是在驱动层进行,高效稳定,透明加密,本地文件正常使用,不会更改用户的使用习惯,且在公司内部安装有软件的电脑上可以正常打开查看,不会影响到员工的正常内部文件传输上班工作,但是文件如需传输到外部设备上打开,必须要经过管理端的审批允许,否则文件无法打开或显示加密乱码,即使因为网络异常等原因加密规则依然生效,确保文件的安全。

同时还可以监控记录员工工作行为,记录和禁止利用软件、邮箱、网盘等进行文件传输,限制U盘等移动存储设备的接入使用等等,全面保护公司内资料信息安全。

c语言加密解密算法

这里使用的是按位加密,按ASCII码进行加密的算法自己写个,很容易的。

#includestdio.h

#includestdlib.h

#includeconio.h

#includestring.h

void

dofile(char

*in_fname,char

*pwd,char

*out_fname);/*对文件进行加密的具体函数*/

void

usage(char

*name);

void

main(int

argc,char

*argv[])/*定义main()函数的命令行参数*/

{

char

in_fname[30];/*用户输入的要加密的文件名*/

char

out_fname[30];

char

pwd[10];/*用来保存密码*/

if(argc!=4)

{/*容错处理*/

usage(argv[0]);

printf("\nIn-fname:\n");

gets(in_fname);/*得到要加密的文件名*/

while(*in_fname==NULL)

{

printf("\nIn-fname:\n");

gets(in_fname);

}

printf("Password

6-8:\n");

gets(pwd);/*得到密码*/

while(*pwd==NULL

||

strlen(pwd)8

||

strlen(pwd)6)

{

printf("Password

6-8:\n");

gets(pwd);

}

printf("Out-file:\n");

gets(out_fname);/*得到加密后你要的文件名*/

while(*in_fname==NULL)

{

printf("Out-file:\n");

gets(out_fname);

}

while(!strcmp(in_fname,out_fname))

{

printf("文件名不能和源文件相同\n");

printf("Out-file:\n");

gets(out_fname);

}

dofile(in_fname,pwd,out_fname);

printf("加密成功,解密请再次运行程序\n");

}

else

{/*如果命令行参数正确,便直接运行程序*/

strcpy(in_fname,argv[1]);

strcpy(pwd,argv[2]);

strcpy(out_fname,argv[3]);

while(*pwd==NULL

||

strlen(pwd)8

||

strlen(pwd)6)

{

printf("Password

faied!\n");

printf("Password

6-8:\n");

gets(pwd);

}

while(!strcmp(in_fname,out_fname))

{

printf("文件名不能和源文件相同\n");

printf("Out-file:\n");

gets(out_fname);

while(*in_fname==NULL)

{

printf("Out-file:\n");

gets(out_fname);

}

}

dofile(in_fname,pwd,out_fname);

printf("加密成功,解密请再次运行程序\n");

}

}

/*加密子函数开始*/

void

dofile(char

*in_fname,char

*pwd,char

*out_file)

{

FILE

*fp1,*fp2;

register

char

ch;

int

j=0;

int

j0=strlen(pwd);

fp1=fopen(in_fname,"rb");

if(fp1==NULL)

{

printf("cannot

open

in-file.\n");

exit(1);/*如果不能打开要加密的文件,便退出程序*/

}

fp2=fopen(out_file,"wb");

if(fp2==NULL)

{

printf("cannot

open

or

create

out-file.\n");

exit(1);/*如果不能建立加密后的文件,便退出*/

}

/*加密算法开始*/

while(j0=0)

{

ch=fgetc(fp1);

while(!feof(fp1))

{

fputc(ch^pwd[j=j0?j=0:j++],fp2);/*异或后写入fp2文件*/

ch=fgetc(fp1);

}

j0--;

}

fclose(fp1);/*关闭源文件*/

fclose(fp2);/*关闭目标文件*/

}

void

usage(char

*name)

{

printf("\t=======================File

encryption======================\n");

printf("\tusage:

%s

In-fname

password

out_fname\n",name);

printf("\tExample:

%s

file1.txt

12345678

file2.txt\n",name);

}

简单文本文件的加密与解密。

给文件加密,我们公司使用的是超级加密3000软件,这款软件操作起来还是比较简便的。

启动超级加密3000进入软件主界面,在软件主窗口下方的的文件浏览控件里面选择您需要加密的文件,然后点击窗口上方的“数据加密”按钮。

在弹出的数据加密窗口中输入文件加密密码,选择合适的文件加密类型,然后点击确定按钮就可以了。

您可以使用这个方法给您的文件加密试试。

文本加密解密算法(文本加密破解) 第1张

python文本加密是什么??

python文本加密是Python 提供了诸如 hashlib,base64 等便于使用的加密库,我们可以借助异或操作,实现一个简单的文件加密程序。

通过了解异或操作的性质,加密原理就非常清晰了。

首先将文件转换成二进制数,再生成与该二进制数等长的随机密钥,将二进制数与密钥进行异或操作,得到加密后的二进制数。

将加密后的二进制程序与密钥进行异或操作,就得到原二进制数,最后将原二进制数恢复成文本文件。

相关拓展

加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。

加密之所以安全,绝非因不知道加密解密算法方法,而是加密的密钥是绝对的隐藏,流行的RSA和AES加密算法都是完全公开的,一方取得已加密的数据,就算知道加密算法也好,若没有加密的密钥,也不能打开被加密保护的信息。

单单隐蔽加密算法以保护信息,在学界和业界已有相当讨论,一般认为是不够安全的。公开的加密算法是给黑客和加密家长年累月攻击测试,对比隐蔽的加密算法要安全得多。

尽管加密或为了安全目的对信息解码这个概念十分简单,但在这里仍需对其进行解释。数据加密的基本过程包括对称为明文的原来可读信息进行翻译,译成称为密文或密码的代码形式。该过程的逆过程为解密,即将该编码信息转化为其原来的形式的过程。

以上内容参考 百度百科-加密

加密解密算法

welcome to guangzhou hongmeng !

import java.io.*;

public class suanfa1 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO 自动生成方法存根

File file=new File("1.txt");

System.out.println(file.length()/12);

int x[]=new int[3];

try{

BufferedReader in=new BufferedReader(new FileReader(file));

char xxx[][]=new char[1000][4];

int i=0;

while(in.read(xxx[i])==4)

{

i++;

}

int j=i,xy=0;

suanfa2 xx[]=new suanfa2[j/3];

for(i=0;ij;i+=3,xy++)

{

for(int k=i,xz=0;ki+3;k++,xz++)

x[xz]=Integer.parseInt(new String(xxx[k]));

xx[xy]=new suanfa2(x[0],x[1],x[2]);

//System.out.println("实际位置:"+xx[xy].weizhi1);

System.out.print(xx[xy].zifu1);

}

suanfa1.sort1(xx);

for(i=0;ixy;i++)

System.out.print(xx[i].zifu1);

}

catch(IOException e){}

}

public static void sort1(suanfa2 xyz[])

{

int length=xyz.length;

for(int x=1;xlength;x++)

{

int k=x-1;

for(int i=x;ilength;i++)

if(xyz[i].weizhi1xyz[k].weizhi1)

{

suanfa2 xx;

xx=xyz[i];

xyz[i]=xyz[k];

xyz[k]=xx;

}

}

}

}

public class suanfa2 {

int suanzi;//加密算子

int weizhi;//表示这个字符在整个字符串中的位置(加密),

int zifu;//表示加密过的字符(ASCII码值)。

char zifu1;//被加密的字符

int weizhi1;//实际的位置

public suanfa2(int x,int y,int z)

{

// TODO 自动生成构造函数存根

this.suanzi=x;

this.weizhi=y;

this.zifu=z;

weizhi1=this.getSJweizhi();

zifu1=this.getZifu();

}

int getSJweizhi()

{

return weizhi-suanzi;

}

char getZifu()

{

return (char)(zifu+suanzi);

}

}

1.txt

004600470055005300550055004400470055005600600055006100660048005300590048-016-0090048006500730051006000690051-019-0090051005200630051006600780051004300560054005600700054004900640054006800840054005600730048006300810048006900880048-01600040048005300740051006000820051005900820051004900730054005500800054004700730054005600830054005500830048-01600130048-01800120051006800680051