今天给各位分享c语言加密算法26个字首尾对换的知识,如果能碰巧解决你现在面临的问题,别忘了关注本站。
#include stdio.h
int main()
{
char c;
int n=0,i,j,k;
printf("Please input a letter:");
scanf("%c",c);
if(c'A'||c'Z')
{
printf("Error Input!\n");
return 0;
}
n=c-'A'+1;
for(i=0;in;i++)
{
for(j=0;jn-i-1;j++)/* 输出每行的空格*/
printf(" ");
for(k=0;k2*i+1;k++)
printf("%c",(char)('A'+i));
printf("\n");
}
for(i=n-2;i=0;i--)
{
for(j=0;jn-i-1;j++)/* 输出每行的空格*/
printf(" ");
for(k=0;k2*i+1;k++)
printf("%c",(char)('A'+i));
printf("\n");
}
}
#include stdio.h
int main(int argc, char *argv[])
{
char s[30];
gets(s);
for(int i=0;s[i];i++)
s[i]=122-(s[i]-97);
puts(s);
return 0;
}
/*要完成头尾互换很简单,只要找出当前字母和a之间的距离x,再找出距离z为x的另一个字母,这个字母就是要找的。a的ascii值为97,z的ascii值为122,所以用上面的减法就可以很容易完成。我这里只写了小写字母的算法,大写的或者大小写混合的你自己写写看吧*/
#include stdio.h
#include stdlib.h
#include time.h
char key[26];
void initkey(void)
{
int i;
for(i=0; i26; ++i)
key[i]='a'+i;
}
void upsetkey(void)
{
srand(time(0));
int i,temp,r;
for(i=0; i26; ++i) {
r=rand()%26;
temp=key[i];
key[i]=key[r];
key[r]=temp;
}
}
void encryptkey(char *srcstr)
{
while(*srcstr!='\0') {
if(*srcstr='a'*srcstr='z')
*srcstr=key[*srcstr-'a'];
if(*srcstr='A'*srcstr='Z')
*srcstr=key[*srcstr-'A']-'a'+'A';
++srcstr;
}
}
void printkey(void)
{
printf("key=%s\n",key);
}
int main(void)
{
initkey();
upsetkey();
printkey();
printf("input string\n");
char srcstr[20];
fgets(srcstr,20,stdin);
encryptkey(srcstr);
printf("%s\n",srcstr);
return 0;
}
//VC++6.0下进行编译
#include stdio.h
#define N 25
void jiami(char namea[256])
{
FILE *fp_jiami,*fp_file2;
char c;
fp_jiami=fopen(namea,"rb");
fp_file2=fopen("file2.plg","wb");
while(EOF!=(fscanf(fp_jiami,"%c",c)))
{
if((c='A'c='Z')||(c='a'c='z'))
{
c=c+N;
if (!((c='A'c='Z')||(c='a'c='z')))c=c-26;
if(c='a'c='z')c=c-32;
}
fprintf(fp_file2,"%c",c);
}
fclose(fp_file2);
fclose(fp_jiami);
}
void jiemi(char en_name[256])
{
FILE *fp_jiemi,*fp_file3;
char c;
fp_jiemi=fopen(en_name,"rb");
fp_file3=fopen("file3.plg","wb");
while(EOF!=(fscanf(fp_jiemi,"%c",c)))
{
if((c='A'c='Z')||(c='a'c='z'))
{
c=c-N;
if (!((c='A'c='Z')||(c='a'c='z')))c=c+26;
if(c='A'c='Z')c=c+32;
}
fprintf(fp_file3,"%c",c);
}
fclose(fp_file3);
fclose(fp_jiemi);
}
int main()
{
char name[256];
int n;
printf("输入你要操作的TXT文本:");
gets(name);
printf("\n请选择需要进行的操作:\n");
printf(" 1:加密 2:解密 \n");
printf("输入你的选择:");
scanf("%d",n);
switch(n) {
case 1:{jiami(name);printf("\t加密成功!!\n\n");
break;}
case 2:{jiemi(name);printf("\t解密成功!!\n\n");
break;}
default:{printf("输入操作不存在!");}
}
return 0;
}
将数据的每个字节中的某一位或者某几位换个位置?
比如:一个字符串“12”,如果是单字节的字符串,则:
十六进制: 0x31, 0x32
十进制: 49, 50
二进制:0011 0001, 0011 0010
如果我们将每个字节的低4位和高4为互换,那结果就是
二进制:0001 0011, 0010 0011
十进制:19, 35
十六进制:0x13, 0x23
查ASCII表,0x13是个非打印字符,0x23是#
也在一定程序上实现了加密,不过安全性就不敢恭维了,呵呵。
还有这个和编程语言是没有什么关系的。
希望我说的是你想要的答案。
产品的开发快则一个月,慢则一年,那么如何杜绝市面上各种山寨也成为了我们必须要关注的问题,加密芯片可以做到这点,在保障开发者权益的同时也保护了消费者权益,KEROS加密芯片作为该领域的领头者,一直在尽力贡献一份力。特点如下:接口:标准I2C协议接口;算法: 标准aes256 / KAS算法;特殊接口:Random Stream Cipher for Interface;工作温度:工业级 -40℃ ~+85℃;频率:400Khz;存储:2K字节EEPROM(可选);电压:1.8V~3.6V;封装:SOT23-6,SOP8,TDFN-6。c语言加密算法26个字首尾对换的介绍就聊到这里吧,感谢你花时间阅读本站内容,谢谢。
本文标签:c语言加密算法26个字首尾对换