c语言代码加密
① C语言实现将字符串进行加密处理,每个字符的加密规则是,将其转换为对应的ASCII码加3后对应 的字符输出
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define DATA_SIZE (1*1024)
int main()
{
int i;
int number;
char a[DATA_SIZE];
// int asc[DATA_SIZE];
// int asc_end[DATA_SIZE];
printf("Please enter a string\n");
gets(a);
number = strlen(a);
for(i=0; i<number; i++)
{
a[i] = a[i] + 3;
printf("%d ", a[i]);
}
system("pause");
return 0;
}
已经编译通过的,上面几位大侠说的回也都对。答
② c语言实现密码加密
unsignedchar*encrypt(unsignedchar*psw,intenc){
intsum=0,i;
if(enc){
for(i=0;i<6;i++){
psw[i]-=15;
sum+=psw[i];
}
psw[6]=(unsignedchar)sum;
psw[7]=0;
}
else{
for(i=0;i<6;i++){
sum+=psw[i];
psw[i]+=15;
}
if((unsignedchar)sum!=psw[6]){
printf("Badpassword ");
psw[0]=0;
returnpsw;
}
else{
psw[6]=0;
}
}
for(i=0;i<3;i++){
unsignedchart=psw[i];
psw[i]=psw[5-i];
psw[5-i]=t;
}
returnpsw;
}
intmain()
{
unsignedcharpsw[128];
scanf("%s",psw);
printf("encodeto:%s ",encrypt(psw,1));
printf("decodeto:%s ",encrypt(psw,0));
return0;
}
③ c语言文本文件加密
问题在这里注意加密后的溢出问题 char型字符最大能表示的数字是127 unsigned char则是255
所以用加法加密要注意处理溢出问题不能简单的加加减减
④ 简单的C语言加密程序
#include<stdio.h>
#include<stdlib.h>
main()
{
int key;
char ch;
printf("\n请输入密钥:");
scanf("%d",&key);
printf("得到对应明文如下:");
while((ch=getchar())!='\r')
(ch+key)>122?putchar(ch-122+33+key):
((ch+key)<33?putchar(ch+122+key):putchar(ch+key));
}
输入输出如下:
请输入密钥:20addse
得到对应明文如下:uxx.y
你先输入一个任意的整数,如20,然后在键盘上输入一段任意的字符如addse
按回车键结束,就会得到结果 如:uxx.y
下面是另一组输入输出:
请输入密钥:35asjRYIRER!@#$^^*&
得到对应明文如下:+=4u#luhuDcFG((MI-
具体是如何加密,你应该能看懂,就是用一个三目运算符 ? :控制。