资源简介
数据加密与数字签名系统,转发非原创,走过路过不要错过。
代码片段和文件信息
#include
#include
#include
#include
char a;
void perr(char *);
int *enc();
char filename[100];
char newfile[100];
char pkfile[100];
static char x[20];
int cmp();
int *tz();
int *sub();
int *multi();
int *chu();
int *mn();
FILE *fp;
FILE *nfp;
FILE *kfp;
char n[20];
char k[20];
main(argcargv)
int argc; char **argv;
{unsigned long block=0;
int *x;
char x2[20];
long num=0pi=0;
char ach;
int rj;
printf(“Do you like to encrypt your file ?(Y/N):“);
gets(&a);
if (a==‘N‘||a==‘n‘) exit(1);
if(argc>3||argc==2) perr(“Usage: encrypt [filename] [pkfile]“);
if(argc==3) {strcpy(filenameargv[1]);strcpy(pkfileargv[2]);}
else
{
printf(“\nEnter the filename needing encrypting: “);gets(filename);
printf(“\nEnter your pkfile: “);gets(pkfile);
}
strcpy(newfilefilename);
while(newfile[i]!=‘\0‘)
{i=i+1;}
ch=newfile[i-1];
newfile[i-1]=‘#‘;
if((fp=fopen(filename“r“))==NULL) perr(“Can‘t open file!“);
if((kfp=fopen(pkfile“r“))==NULL) perr(“Can‘t open file!“);
if((nfp=fopen(newfile“w+“))==NULL) perr(“Can‘t creat new file!“);
fscanf(kfp“%s %s“nk);
printf(“\nn=%sk=%s\n“nk);
fclose(kfp);
fputc(chnfp);
while((fgetc(fp))!=EOF)
{num++;}
printf(“n=%sk=%s“nk);
fprintf(nfp“%u “num);
rewind(fp);
r=num%3;
p=(num-r)/3;
i=0;
while(i {i=i+1;block=0;
fread(&block31fp);printf(“\nblock=%u“block);
x=enc(block);for (j=0;j<20;j++)x2[j]=x[j]+48;
x2[20]=‘\0‘;
fwrite(x2201nfp);
}
if (r!=0)
{block=0;
fread(&blockr1fp);printf(“\nblock=%u“block);
x=enc(block);for (i=0;i<20;i++)x2[i]=x[i]+48;
x2[20]=‘\0‘;
fwrite(x2201nfp);}
fclose(fp);
fclose(nfp);
}
void perr(s)
char *s;
{
printf(“\n%s“s); exit(1);
}
int *mn(int c[40]int a[40])
{int i;
unsigned long d=0;
int m[40];
int x[40]y[40];
for(i=0;i<20;i++)
{x[i]=n[i]-48;
y[i]=n[i]-48;
}
x[10]++;
for(i=20;i<40;i++){x[i]=0;y[i]=0;}
for(i=17;i>=10;i--){d=x[i]+d*10;}
multi(ca);
while(cmp(cx)){
for(i=10;i<40;i++)m[i-10]=c[i];
for(i=30;i<40;i++)m[i]=0;
chu(md);
multi(my);
sub(cm);
}
while(cmp(cy))
{sub(cy);}
return(c);
}
int *multi(int n2[40]int n1[40]) /*乘法++*/
{int i;
int mul[40];
int ab;
for(i=0;i<40;i++)mul[i]=0;
for(a=0;a<20;a++)
{
for(b=0;b<20;b++)
{
mul[a+b]=mul[a+b]+n2[b]*n1[a];
}
}
tz(mul);
for(a=0;a<40;a++)
{n2[a]=mul[a];}
return(n2);}
int *tz(int *mut) /*调整数组++*/
{
int abbii;
for(a=0;a<40;a++)
{
i=0;
b=mut[a];
mut[a]=mut[a]%10;
while(b)
{
i++;
b=b/10;
bi=b%10;
mut[a+i]+=bi;
}
}return(mut);
}
int cmp(int *n1int *m) /*比较 */
{
int i=39;
while(n1[i]==m[i])
{
i--;
}
if(i<0){return 0;}
else if(n1[i]>m[i])
return 1 ;
else
return 0 ;
}
int *chu(int *munsigned long d ) /*除法*/
{unsigned long w1=0;
int ia;
int u[4
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3562 2002-06-16 20:32 数据加密与数字签名系统\ENCODE.C
文件 3840 2002-06-16 20:48 数据加密与数字签名系统\Encrypt.c
文件 4986 2002-06-11 21:25 数据加密与数字签名系统\Key.c
文件 3614 2002-06-16 21:21 数据加密与数字签名系统\VERIFY.C
文件 3807 2002-06-16 21:11 数据加密与数字签名系统\SIGN.C
....SH. 176164 2003-12-31 14:09 数据加密与数字签名系统\ENCODE.ZMX
....SH. 180257 2003-12-31 14:09 数据加密与数字签名系统\Key.ZMX
....SH. 176171 2003-12-31 14:09 数据加密与数字签名系统\SIGN.ZMX
....SH. 176173 2003-12-31 14:09 数据加密与数字签名系统\VERIFY.ZMX
....SH. 176165 2003-12-31 14:09 数据加密与数字签名系统\Encrypt.ZMX
目录 0 2002-07-21 08:27 数据加密与数字签名系统
----------- --------- ---------- ----- ----
904739 11
- 上一篇:十六进制转换成相应ASCII码
- 下一篇:youtube 字幕工具
相关资源
- 系统中ETL和数据集市的架构设计和实
- 3114006172陈世强数据库课程设计报告
- hadoop技术内幕三件套
- Word文档加密器破解版V5.2(免注册机)
- Kinect手势代替鼠标控制PC
- 政府采购系统
- 中国国界SHP格式数据
- 各国气温数据
- titanic_dataset.csv泰坦尼克数据集
- 大数据工程师自学到精通最佳学习路
- 省市区2019年数据省市区三级
- 图数据库第二版 作者[美] 伊恩·罗宾
- 物业费管理系统源码超详细注释附文
- 数据结构算术表达式求值实验报告
- 食堂系统 代码 数据库 可运行
- 判别分析案例讲解、数据
- 串口数据转发工具
- SPSS统计分析从入门到精通-数据文件
- 数据结构课程设计 表达式类型的实现
- ROCKEY4ND加密锁硬复制程序Nig提供
- 长整数的代数计算 算法
- 中国地图地理坐标经纬度数据
- 自然语言处理-关键词提取四种方法
- 试验设计与数据分析.zip
- 大数据之路:阿里巴巴大数据实践(
- 机器学习方法R实现-用决策树、神经网
- 二进制方式打包和解包文件
- 四级数据库工程师 完美集锦
- 数据结构与程序设计考研试题精选及
- 中国移动企业级省大数据平台技术规
评论
共有 条评论