当前位置:首页 » 密码管理 » c语言给四位数加密

c语言给四位数加密

发布时间: 2022-07-06 03:22:49

❶ 输入一个四位数,加密后输出,加密方法是将该数每一位数字加13得到一个数,然后转换成相应的大写字母,如1-A

你可以参考下下面的代码:
#include <iostream>
using namespace std;
int main()
{
string key="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

int num;

cout<<key[num/1000+12];

num%=1000;

cout<<key[num/100+12];

num%=100;

cout<<key[num/10+12];

num%=10;

cout<<key[num+12]<<endl;

return 0;

}
有什么不明白的地方可以再问我,望采纳。

❷ C++输入一个4位数,将其加密为另一个4位数。加密原则为:每个位 * 7 % 10

//求c语言编程大神出手相救:输入一个三位数,将其加密后输出。
//加密方法使对该数的每一位数字,将其加6除以10取余数,
//作为该位上的新数字,再交换个位数字和百位数字,如输入256加密后的数为218。
#include<stdio.h>
main()
{
int
number=0;
int
i=0;
int
t=0;
int
spilt[3];
printf("输入一个三位数");
scanf("%d",&number);
for(i=0;i<3;i++)
{
spilt[i]=(number%10+6)%10;
number=number/10;
}//把拆分后的数字存入spilt数组
for(i=0;i<3;i++)
{
printf("%d",spilt[i]);
}
printf("\n");
}

❸ C语言数字加密

#include
void
main()
{
int
a[5];
/*
存储各位上的数字
*/
int
num,
temp,
encripy;
/*
num是要输入的数,temp是交换时用来存储临时值,encripy是加密后的数据
*/
int
i;
do
{
printf("please
input
the
number:");
scanf("%d",&num);
if(!(num/10000
!=0
&&
num/100000==0))
printf("data
error!\n");
}while(!(num/10000
!=0
&&
num/100000==0));
a[0]
=
num/10000%10;
/*
求各位上的数字
*/
a[1]
=
num/1000%10;
a[2]
=
num/100%10;
/*
百位上的数字
*/
a[3]
=
num/10%10;
/*
十位上的数字
*/
a[4]
=
num%10;
/*
个位上的数字
*/
for(i
=
0;
i
<
5;
++i)
/*
开始加密
*/
a[i]
=
(a[i]
+
8)%10;
temp
=
a[0];
/*
交换位置开始
*/
a[0]
=
a[3];
a[3]
=
temp;
temp
=
a[1];
a[1]
=
a[2];
a[2]
=
temp;
/*
交换位置结束同时加密结束
*/
encripy
=
a[0]*10000
+
a[1]*1000
+
a[2]*100
+
a[3]*10
+
a[4];
/*
加密后的数据
*/
printf("\nthe
scourse
number:
%d\n",
num);
/*
输出原数据
*/
printf("\nencripy
the
number:
%d\n\n",
encripy);
/*
输出加密后的数据
*/
}
在vc6.0成功运行,希望对你有帮助!

❹ C语言求大神帮忙看一下哪里错了,输入1个四位数,将其加密后输出.方法是将该数每一位上的数字加9,然后

#include <stdio.h>
int main()
{
int n,a,b,c,d,e,f,g,h,x,y;
scanf("%d",&n);
a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000%10;
e=(a+9)%10;
f=(b+9)%10;
g=(c+9)%10;
h=(d+9)%10;
x=e;e=g;g=x;
y=f;f=h;h=y;
printf("%d%d%d%d",h,g,f,e);
return 0;
}
求打赏~~~

❺ 输入一个四位数,将其加密后输出。方法是将该数每一位的数字加9,然后除以10取余作为该位上的新数字,

你的错误在于:用转换后的数去与原来的数据进行运算
比如:输入1234
digit2取得了1,换算成了0
软化你在算digit1时number-digit2*1000=1234-0,原先取得的千位上的数字1没有保留所以计算不对了
建议:取数和加9模10分别做,先逐一取得各位上的数字,然后再做加9模10的运算。

❻ C语言编程:要求输入student,将其加密,每个字母往后移四位,比如e,将其变成i,求高手解答!谢谢!

是的,就是设置个char数组,比如char student[4]={0};char strtemp[4];
然后将起赋值为你想要的值,这就是加密前,加密的话就:
for(int i=0;i<sizeof(student);i++)
strtemp[i] = student[i]+4;
得到的就是你要的加密后的组合了,解密同样,直接每个指减4就对了

❼ c语言 数据加密

  1. 什么是异或算法

  2. 异或的特点是原始值经过两次异或某一个数后会变成原来的值,所以有时利用这个特性来进行加密,加密端把数据与一个密钥进行异或操作,生成密文。接收方收到密文后利用加密方提供的密钥进行再次异或操作就能得到明文。

例程:

/*以DWORD为单位对文件进行加密,将每个DWORD与0xfcba0000(密钥)做异或,写入另一个文件*/

#include<stdio.h>
#include<stdlib.h>
#defineDWORDunsignedlong
#defineBYTEunsignedchar
#definefalse0
#definetrue1
intmain(intargc,char*argv[])
{
FILE*hSource;
FILE*hDestination;

DWORDdwKey=0xfcba0000;
char*pbBuffer;
DWORDdwBufferLen=sizeof(DWORD);
DWORDdwCount;
DWORDdwData;
if(argv[1]==0||argv[2]==0)
{
printf("missingargument! ");
returnfalse;
}
char*szSource=argv[1];
char*szDestination=argv[2];

hSource=fopen(szSource,"rb");//打开源文件.
hDestination=fopen(szDestination,"wb");//打开目标文件
if(hSource==NULL){printf("openSourceFileerror!");returnfalse;}
if(hDestination==NULL){printf("openDestinationFileerror!");returnfalse;}

//分配缓冲区
pbBuffer=(char*)malloc(dwBufferLen);

do{
//从源文件中读出dwBlockLen个字节
dwCount=fread(pbBuffer,1,dwBufferLen,hSource);
//加密数据
dwData=*(DWORD*)pbBuffer;//char*TOdword
dwData^=dwKey;//xoroperation
pbBuffer=(char*)&dwData;
//将加密过的数据写入目标文件
fwrite(pbBuffer,1,dwCount,hDestination);
}while(!feof(hSource));

//关闭文件、释放内存
fclose(hSource);
fclose(hDestination);

printf("%sisencryptedto%s ",szSource,szDestination);
return0;
}

❽ C对一个四位数字加密再解密

#include<stdio.h>
void code(char *p)
{
for(int i=0;i<4;i++)
{
p[i]=(p[i]-41)%10+48;
}
}
void uncode(char *p)
{
for(int i=0;i<4;i++)
{
p[i]=(p[i]-45)%10+48;
}
}
main()
{
char num[4];
printf("请输入一个4位数:\n");
scanf("%s",num);
code(num);
printf("密文为%s\n",num);
uncode(num);
printf("原数为%s\n",num);
}

❾ C语言,数据加密

#include<stdio.h>
int encrypt(int c);
void main()
{
int pwd[5]={1,2,3,4,5};
int newpwd[5];
int i;
for(i=0;i<5;i++)
{
newpwd[i]=encrypt(pwd[i]);//每位数字都加6,然后用和除以8的余数代替该数字
}
i=newpwd[0];newpwd[0]=newpwd[4];newpwd[4]=i;//交换第一位和第五位
i=newpwd[1];newpwd[1]=newpwd[3];newpwd[3]=i;//交换第二位和第四位
//输出检查
printf("old password:");
for(i=0;i<5;i++)
{
printf("%d",pwd[i]);
}
printf("\n new password:");
for(i=0;i<5;i++)
{
printf("%d",newpwd[i]);
}
printf("\n");
}
int encrypt(int c)
{
return (c+6)%8;
}

❿ C语言字符串加密 后移四位 并最后输入Y持续上一个过程 输入N结束

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

intmain(intargc,char*argv[])
{
chars[50]={""};
scanf("%s",s);
inti;
intlen=strlen(s);
while(1)
{
for(i=0;i<len;i++)
{
intn;
if(s[i]>=65&&s[i]<=90)
{
n=s[i]+4;
if(n>90)
{
n=n-26;
}
s[i]=n;
}
elseif(s[i]>=97&&s[i]<=122)
{
n=s[i]+4;
if(n>122)
{
n=n-26;
}
s[i]=n;
}
}
printf(" %s 继续吗?(Y/N):",s);
charc;
fflush(stdin);
scanf("%c",&c);
if(c=='y'||c=='Y')
{
continue;
}
elseif(c=='n'||c=='N')
{
break;
}
}
return0;
}

热点内容
html文件上传表单 发布:2024-09-17 03:08:02 浏览:783
聊天软件编程 发布:2024-09-17 03:00:07 浏览:725
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662
情逢敌手迅雷下载ftp 发布:2024-09-17 01:32:35 浏览:337
安卓如何让软件按照步骤自动运行 发布:2024-09-17 01:28:27 浏览:197
Z包解压命令 发布:2024-09-17 01:27:51 浏览:221