社区
C语言
帖子详情
加密
pal3000
2004-03-16 04:15:54
命令行指定两个文件,从第一个文件按行读入字符串(明文),并且把编码后的字符序列(密文)写到第二个文件(用十六进制文本的形式)。你可以使用如下加密模式:明文字符c的加密形式是c^key[i],其中key是先前从cin读入的一个字符串(密钥)。这个程序以循环的方式使用key中的字符,直到读完全部输入的明文。用同一个密钥对密文重新加密后就能得到原来的明文,如果没有输入密钥(输入了空字符串),则不做加密。
...全文
39
3
打赏
收藏
加密
命令行指定两个文件,从第一个文件按行读入字符串(明文),并且把编码后的字符序列(密文)写到第二个文件(用十六进制文本的形式)。你可以使用如下加密模式:明文字符c的加密形式是c^key[i],其中key是先前从cin读入的一个字符串(密钥)。这个程序以循环的方式使用key中的字符,直到读完全部输入的明文。用同一个密钥对密文重新加密后就能得到原来的明文,如果没有输入密钥(输入了空字符串),则不做加密。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
made_in_
2004-03-16
打赏
举报
回复
这只是一个很简单的加密而已啊,要求的也很详细了,还有什么困难吗?
柯本
2004-03-16
打赏
举报
回复
以前我做的一个,与你的要求几乎一致:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXKEY 80
int main(int ac,char *av[])
{
FILE *fin,*fout;
int c;
char key[MAXKEY];
int i,ct;
if (ac!=3)
{
fprintf(stderr,"usage <filein> <fileout>\n");
exit(-1);
}
printf("Please Input a Key:");
gets(key);
ct=strlen(key);
if (ct==0)
exit(0);
if((fin=fopen(av[1],"rb")) ==NULL)
{
fprintf(stderr,"%s can't open\n",av[1]);
exit(-1);
}
if((fout=fopen(av[2],"wb")) ==NULL)
{
fprintf(stderr,"%s can't create!\n",av[2]);
exit(-1);
}
i=0;
while((c=fgetc(fin))!=EOF)
{
c ^=key[i++];
fputc(c,fout);
// 如果要16进制文输出改为:
// fprintf(fout,"%02x",c);
if (i=ct)
i=0;
}
fclose(fin);
fclose(fout);
}
liotion
2004-03-16
打赏
举报
回复
沒看明白,
對字符串加密可以循環的給每個字符加上一個數組的字符,很難破解的。
RSA
加密
算法的C语言实现
RSA
加密
算法的C语言实现
基于.net的RSA私钥
加密
公钥解密的源码
在.net环境下实现RSA的私钥
加密
公钥解密
解决SQLSERVER数据库驱动程序无法通过使用安全套接字层(SSL)
加密
与 SQL Server 建立安全连接问题JAR包
用于解决SQLSERVER连接问题驱动程序无法通过使用安全套接字层(SSL)
加密
与 SQL Server 建立安全连接问题JAR包。
MD5
加密
算法
MD5
加密
算法源代码
Java AES
加密
解密示例
AES称为高级
加密
标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael
加密
法,是美国联邦政府采用的一种区块
加密
标准。经过五年的甄选流程,高级
加密
标准由美国国家标准与技术研究院...
C语言
69,377
社区成员
243,076
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章