资源简介
数据加密与数字签名系统,转发非原创,走过路过不要错过。

代码片段和文件信息
#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 字幕工具
相关资源
- 数据库系统基础教程答案第三版机械
- 中国1:400万基础地理数据
- 最新的北京地铁shp文件75146
- 希尔密码加密、解密和破密
- PNG加密解密工具73383
- 软考数据库系统工程师复习资料(完
- m1卡 ic卡可选择扇区初始化加密软件
- oracle数据迁移项目实施方案
- ACCESS财务报表(带数据).accdb
- MoNyog8.5+破解补丁
- ANSYS LS-DYNA
- VisualStudioUninstaller vs卸载工具
- 金蝶K3wise数据字典
-
大数据。基于Hba
se的网站日志分析系 - Zprotect专业版(无限制) 一机一码E
- 组态王驱动开发包3.0.0.7(中文)
- SigmaPlot教程之各种柱形图的数据排列
- 全国4级地址库,京东数据
- 多窗口后台鼠标连点器
- CASS9.1最新S4数据及驱动+ET199数据及驱
- 使用选择性重传协议实现UDP可靠通信
- 一个超简单的企业管理系统(带ACCE
- 数据结构年终考题范围和答案 耿国华
- 加密软件漏洞评测系统 V8.9
- 数据库课设:图书管理系统报告
- 数据结构 朱战力 习题解答 数据结构
- 介绍几种压缩算法及《笨笨数据压缩
- VC 获得文件属性 获取文件的创建时
- Tomcat中配置数据源所需得jar包
- C 大整数RSA加密
评论
共有 条评论