⑴ c语言文本文件加密
问题在这里注意加密后的溢出问题 char型字符最大能表示的数字是127 unsigned char则是255
所以用加法加密要注意处理溢出问题不能简单的加加减减
⑵ 用c++编写一个简单的文件加密程序
我自己想写一个加密的方式
还觉得这个挺难的。
如果真的没有太高的c++这一块的基础的话。
真的是没法做到,因为代码比较难写的。
只能求助于那些摸到水深水浅的那些c++大神们。
之后摸着他(她)们的大腿,然后就说把源代码的思路原形给我!
⑶ 怎么给自己写的程序加密啊
如果你的程序核心模块不希望被第3方知道,可以在代码里直接加密,用时解密,或者你有汇编实力,直接将功能模块写成SHELLCODE,加密SHELLCODE,需要调用时动态解密。都整个文件加密的可行性比较低
⑷ 高分求用C++写一道完整的加密程序
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
void encrypt(char *in, char *pwd, char *out)
{
FILE *infile, *outfile;
char ch;
int i=0, PwdLen=0;
if ((infile=fopen(in, "rb"))==NULL)
{
printf("无法打开 %s\n"乱姿, in);
getch();
exit(1);
}
if ((outfile=fopen(out, "wb"))==NULL)
{
printf("无法打开或创建 %s\n", out);
getch();
exit(1);
}
while (pwd[PwdLen++]); //这里用来应付密码为空扰戚的情况
PwdLen--;
ch=fgetc(infile);
while (!feof(infile))
{
fputc(ch^pwd[i>=PwdLen?i=0:i++], outfile);
ch=fgetc(infile);
}
fclose(infile);
fclose(outfile);
}
int main(int argc, char *argv[])
{
char in[256];
char out[256];
char pwd[256];
if (argc!=4)
{
printf("要加/解缓陪陵密的文件路径和文件名:\n");
gets(in);
printf("密码:\n");
gets(pwd);
printf("输出路径和文件名:\n");
gets(out);
encrypt(in, pwd, out);
printf("\n\n任务完成!\n\n");
getch();
}
else encrypt(argv[1], argv[2], argv[3]);
return 0;
⑸ C语言设计一个简单的加密解密程序
C语言设计一个简单的加密解密程序如下:
加密程序代码:
#include
main()
{
char
c,filename[20];
FILE
*fp1,*fp2;
printf("请输入待加密的文件名:\n");
scanf("%s",filename);
fp1=fopen(filename,"r");
fp2=fopen("miwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=c-32;
c=126-c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
解密程序代码:
#include
#include
main()
{
char
c,filename[20];
char
yanzhengma[20];
FILE
*fp1,*fp2;
printf("请输入待解密文件名:\n");
scanf("%s",filename);
printf("请输入验证码:\n");
scanf("%s",yanzhengma);
if(strcmp(yanzhengma,"shan")==0)
{
fp1=fopen(filename,"r");
fp2=fopen("yuanwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=126-c;
c=32+c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
else
{
printf("验证码错误!请重新输入:\n");
scanf("%s",filename);
}
}
⑹ VB 加密与解密的程序代码
加密:
PrivateFunction JiaMi(ByVal varPass As String) As String '参数varPass是需要加密的文本内容
Dim varJiaMi As String * 20
Dim varTmp As Double
Dim strJiaMi As String
Dim I
For I = 1 To Len(varPass)
varTmp = AscW(Mid$(varPass, I, 1))
varJiaMi = Str$(((((varTmp * 1.5) / 5.6) * 2.7) * I))
strJiaMi = strJiaMi & varJiaMi
NextI
JiaMi = strJiaMi
EndFunction
解密函数:
PrivateFunction JieMi(ByVal varPass As String) As String '参数varPass是需要解密的密文内容
Dim varReturn As String * 20
Dim varConvert As Double
Dim varFinalPass As String
Dim varKey As Integer
Dim varPasslenth As Long
varPasslenth = Len(varPass)
For I = 1 To varPasslenth / 20
varReturn = Mid(varPass, (I - 1) * 20 + 1, 20)
varConvert = Val(Trim(varReturn))
varConvert = ((((varConvert / 1.5) * 5.6) / 2.7) / I)
varFinalPass = varFinalPass & ChrW(Val(varConvert))
NextI
JieMi = varFinalPass
EndFunction
注意事项
编写加密程序,将用户输入的一个英文句子加密为加密字符串,然后输出加密字符串。假设句子长度不超过100个字符。
根据给定的句子加密函数原型SentenceEncoding,编写函数SentenceEncoding调用给定的字符加密函数CharEncoding完成句子加密。
然后,编写主程序提示用户输入英文句子,然后调用函数SentenceEncoding对句子加密,最后输出加密后的句子。
字符加密规则为大写字母和小写字母均加密为其补码, 我们定义ASCII码值相加为’A’+’Z’即155的两个大写字母互为补码,ASCII码值相加为’a’+’z’即219的两个小写字母互为补码。
空格用@代替,句号以#代替,其它字符用句点代替。
函数原型:
void SentenceEncoding(char *soure,char *code);
功能:对待加密字符串source加密后保存加密字符串到code.
参数:char *soure,指向待加密句子的字符串指针;
char *code 指向加密字符串的字符串指针;
字符加密函数代码。