当前位置:首页 » 编程语言 » 置换密码c语言

置换密码c语言

发布时间: 2023-03-28 11:28:40

A. 在c语言中怎么比较字母的大小

你不是在做密码学实验? 列置换密码就要做这些工作,呵呵。
如果慧做你只需要把这些字母排好序那太斗碧祥简单了,直接冒泡排序就行了,冒泡排序在数组数目小于50 的时候效率是最高的。
char ch[]="dheng"
for(i=0;i<strlen(dheng)-1;i++)
{
for(j=0;j<i;j++)
{
if(ch[i]>ch[j+1])
{
t=ch[j];
ch[j]=ch[j+1];
ch[j+1]=t;
}
}
}

这里字母是asc码其实就是数组 a的asc码是97 b 是98 依此类推 所以 字母实际上空搏就是数组 ,按照数组的排序方法就ok。

B. 如何用C语言做出修改密码的程序

1、用一个字符数组来存密码再用一个字符数组接收你的输入,然后用strcmp来比较,如果返回0则密码是正确的2、例程:
#include "stdio.h"
#include "string.h"
int main()
{
char mima[100]="YuanShi888";
char input[100]={0};
printf("请输入密码:");
gets(input);
if(strcmp(mima,input)==0)
printf("恭喜你,密码正确!\n");
else
printf("对不起,密码输入错误!\n");

}

C. 写一个用c语言转换密码的程序

#include<stdio.h>
#include<string.h>
voidmain()
{
inti,n;charstr[21];
gets(str);n=strlen(str);
if(n==0)printf("error");
for(i=0;i<n;i++)
if((str[i]<'a'尘好||str[i]>'z')&&(str[i]<'A'||str[i]>'Z'))
printf("error");
else
{
for(i=0;i<n;i++)
{
if((str[i]>='x'&&str[i]<='z')||(str[i]>派晌铅='X'&&str[i]<='Z'))
str[i]-=22;
elsestr[i]+=4;
printf("%c"谨亮,str[i]);
}
}
}

D. C语言简单密码破解(密文转明文)

调了半天,楼主真是太粗心了!middle1[]应该这样声明:
char middle1[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
最后输出start的时候要注意控制长度,改个for循环就好了!
#include<stdio.h>
#include<string.h>

int main(void)
{
int i,j,length,n;
char temp;
char middle2[27];
char start[201],finish[201];

char middle1[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
gets(middle2);
gets(finish);
scanf("%d",&n);
length=strlen(finish);
for(i=0;i<25;i++)
{
for(j=i+1;j<26;j++)
{
if(middle2[i]>middle2[j])
{
temp=middle2[i];
middle2[i]=middle2[j];
middle2[j]=temp;
temp=middle1[i];
middle1[i]=middle1[j];
middle1[j]=temp;
}
}
}
for(i=1;i<=n;i++)
{
for(j=0;j<length;j++)
{
if(finish[j]==' ')
{
start[j]=' ';
}
else
{
start[j]=middle1[finish[j]-'A'];
}
}
}
for( i = 0;i < length;++i)
printf("%c",start[i]);
printf("\n");

return 0;
}
/*
ABCDEFGHIJKLMNOPQRSTUVWXYZ
*/

E. 请问为什么要CLR C进行 位清零 这个程序为什么要用到循环移位指令

CLR C指令用于将CPU的C(进位)标志位清零,以便执行紧接着的操作不受上一次操作的影响。在某些操作中,比如减法运算和移位操作中,会改变C(进位)标志位的值,因此需要在下次操作前将其清零。
循环移纤搜位指令是一种可友竖碰以将一个二进制数左移好谈或右移若干位的指令。在某些应用中,特别是涉及到二进制数据处理或加密等领域,循环移位指令非常有用。例如,在密码学中,可以使用循环移位指令实现位移密码和置换密码等加密算法
具体到某个程序中为什么要使用循环移位指令,需要看具体情况。通常情况下,使用循环移位指令可以简化代码、提高效率、压缩数据等。对于某些嵌入式系统来说,由于资源有限,使用适当的算法和指令可以有效地优化系统性能。

F. C语言VC++6.0实现一个置换加密

这个应该满足要求:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

FILE *fi,*fo;
char ps[20],txt1[1024],txt2[1024];
int plen,ps1[20];
int i,j,k;

void main(){
printf("password? ");
scanf("%s",ps);
plen=strlen(ps);
printf("PASSWORD is %s in length of %d, separated into:\n",ps,plen);
for(i=0;i<plen;i++){ps1[i]=ps[i]-48;printf("%3d",ps1[i]);}

fi=fopen("d:\\datin.txt","ra");
if(fi==NULL)exit(111);

fscanf(fi,"%s\n",txt1);
fclose(fi);

printf("\n\n---TEXT in file d:\\datin.txt before encoding : ---\n%s\n",txt1);

fo=fopen("d:\\datout.txt","wa");
if(fo==NULL)exit(222);

for(j=0;j<strlen(txt1);j++){
for(i=0;i<plen;i++)fprintf(fo,"%c",txt1[ps1[i]-1+j]);
j+=plen-1;
}
fclose(fo);

fi=fopen("d:\\datout.txt","ra");
fscanf(fi,"%s\n",txt2);
fclose(fi);

printf("\n---TEXT in file d:\\datout.txt after encoding : ---\n%s",txt2);

printf("\n");

}

// contents in datin.txt:
//

G. 用C语言或者其他语言编写替代密码和置换密码

给你,自己再稍微改造一下吧:
#include "stdio.h"
#include "conio.h"

main()
{
int k,i=0;
char a[100],b[100];
printf("qing shu ru ni de mi wen \n");
gets(a);
printf("qing shu ru mi shi \n");
scanf("%d",&k);
printf("\n");
do{
b[i]=(char)(a[i]+k);
if(b[i]>122){
b[i]=(char)(b[i]-26);
}
i++;
}while(a[i]!='\0');
puts(b);
getch();
}

H. 一个简单的C语言:密码转换

char mycrypt ( char ch, int key )
{
if ( ch <= 'Z' && ch >= 'A' )
{
ch -= 'A';
ch += 26 + key;
ch = ch % 26;
ch += 'A';
}
else if ( ch <= 'z' && ch >= 'a' )
{
ch -= 'a';
ch += 26 + key;
ch = ch % 26;
ch += 'a';
}
return ch;
}

I. C语言编程 将四位数字分为一组进行加密,其中第一位和第三数字交换,第二位和第四位数字交换

1 3 交团芦换 2 4交饥基换塌肢带就是 12和34交换 前两位换到后两位
#include "stdio.h"
void main()
{
int a;
int b;
scanf("%d",&a);
b=a/100+a%100*100;
printf("%d",b);
}

J. 文本串加密和解密程序

加密解密函数及用法示例http://hi..com/ypxmaomao/blog/item/6361f5d6fb1e8e2606088b32.html

热点内容
新建文件夹命令按钮 发布:2024-11-02 22:32:09 浏览:570
给首付解压 发布:2024-11-02 22:24:01 浏览:51
活春文件夹 发布:2024-11-02 22:22:18 浏览:144
pythonlist参数传递 发布:2024-11-02 22:18:57 浏览:598
林肯冒险家买哪个配置人多 发布:2024-11-02 22:14:34 浏览:542
马铃薯存储 发布:2024-11-02 22:09:21 浏览:362
android的title居中 发布:2024-11-02 21:59:53 浏览:876
orchard源码 发布:2024-11-02 21:51:20 浏览:940
ntp服务器地址修改 发布:2024-11-02 21:31:46 浏览:818
c打开文件夹选中文件 发布:2024-11-02 21:31:12 浏览:600