当前位置:首页 » 编程语言 » c语言crypt
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言crypt

发布时间: 2022-07-28 05:55:00

c语言中,crypt函数是在哪个库里面

先顶楼上,功能强大这个代码是不是一个有用的。事实上,只有在没有定义的函数的头文件中的函数声明。这个头文件是为程序员看,让你知道这些功能。在它的真正功能定义?事实上,库函数早已编好的中存在。 OBJ文件或。里面的lib文件。这种连接方式是静态的。之后,该过程完成,您的接头那么你的程序。 obj文件和库连接的最后一代。 exe文件。如果你想看到一个库文件的定义,那么只有去网上寻找它自己。但我个人觉得没有必要。事实上,大多数图书馆都能够写自己的。喜欢的strcmp()这个微软的库文件发布的原码是更不可能的,但你可以去MSDN里面的运气。最后,祝你好运啦。

㈡ c语言的问题

onio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

包含的函数:
cgets(char *);
cprintf(const char *, ...);
cputs(const char *);
cscanf(const char *, ...);
inp(unsigned short);
inpw(unsigned short);
getch(void);
getche(void);
kbhit(void);
outp(unsigned short, int);
outpw(unsigned short, unsigned short);
putch(int);
ungetch(int);
void _Cdecl clreol (void);
void _Cdecl clrscr (void);
void _Cdecl delline (void);
int _Cdecl gettext (int left, int top, int right, int bottom,
void *destin);
void _Cdecl gettextinfo (struct text_info *r);
void _Cdecl gotoxy (int x, int y);
void _Cdecl highvideo (void);
void _Cdecl insline (void);
void _Cdecl lowvideo (void);
int _Cdecl movetext (int left, int top, int right, int bottom,
int destleft, int desttop);
void _Cdecl normvideo (void);
int _Cdecl puttext (int left, int top, int right, int bottom,
void *source);
void _Cdecl textattr (int newattr);
void _Cdecl textbackground (int newcolor);
void _Cdecl textcolor (int newcolor);
void _Cdecl textmode (int newmode);
int _Cdecl wherex (void);
int _Cdecl wherey (void);
void _Cdecl window (int left, int top, int right, int bottom);
char *_Cdecl cgets (char *str);
int _Cdecl cprintf (const char *format, ...);
int _Cdecl cputs (const char *str);
int _Cdecl cscanf (const char *format, ...);
int _Cdecl getch (void);
int _Cdecl getche (void);
char *_Cdecl getpass (const char *prompt);
int _Cdecl kbhit (void);
int _Cdecl putch (int c);
int _Cdecl ungetch (int ch);
另外,团IDC网上有许多产品团购,便宜有口碑

㈢ 维吉尼亚密码c语言求改。

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define N 10000
void function(char message[],char key[],int mode); //加解密函数
int main()
{
int choose;
char m[N],key[N];
printf("维吉尼亚加密,请输入1;解密,请输入2:\n");
scanf("%d",&choose);
getchar();
if (choose == 1 || choose == 2)
{
if (choose == 1)
printf("输入明文:\n");
if (choose == 2)
printf("输入密文:\n");
gets(m);
printf("输入密钥:\n");
gets(key);
function(m,key,choose);
}
else
printf("输入错误!\n");
return 0;
}

void function(char message[],char key[],int mode) //加解密函数
{
int i, j = 0; //j控制key的轮回
int len_k = strlen(key); //密钥长度
char s[N];
for(i=0; message[i]!='\0'; i++)
{
if(message[i] == 32) //判断空格
s[i]=' ';
else
{
if (mode == 1)
s[i]=(int(message[i]-'a')+int(key[j%len_k]-'a'))%26+97;
if (mode == 2)
s[i]=(int(message[i]-'a')-int(key[j%len_k]-'a')+26)%26+97;
j++;
}
printf("%c",s[i]);
}
printf("\n");
}

gets(l);//不加这句M就输入不了为什么?
是因为没有这句的话,按的回车键就输成m了。
连用两个输入语句时,需要考虑回车键,就像我代码里的getchar()。

㈣ crypt返回的字符串会以\0结尾吗

char []str="abcd";char []str=new char[4];System.out.println(new int[2] instanceof Object);

第一行中在java中是编译都不可以通过的。也就是错误的!可是在c里面就是可以(不过要把【】掉一下位置char str[]="abcd";)因为c会以‘\0’来判断一个字符串的结束
第二行在java里面才可以正确运行,你有没有注意到里面有个4 就说明此时已经指定了长度了,没有必要再向c语言那样再搞一个字符内存单元来作为字符串判断结束的依据。
再说了java里面一切皆是对象“everythingis object”数组也不例外。同样String也是。
你看第三行就是判断数组是不是对象的语句,结果为true,就意味着数组是对象了
好了。总结:在java中字符串不是以‘\0’作为结束依据。因为它是对象(在这个对象存在时它已经有了自己的状态了 例如长度length)

㈤ 【急求】c语言简单加密问题

#include <stdio.h>
#include <conio.h>
char mycrypt(char a,int b);
void main()
{
int key;
char ch;
scanf("%d",&key);
getchar();
while( (ch=getchar()) != '\n' )
{
printf("%c", mycrypt(ch,key) );
}
printf("\n");
}
char mycrypt(char a,int b)
{

if(b>=0)
{

if((a+b)>'z')
{
a=a-26+b;
return a;
}
else
a=a+b;
return a;
}
else
{
if((a+b)<'A')
{
a=a+26+b;
return a;
}
else{

a=a+b;
return a;
}

}

}

㈥ 使用 c 程序 printf 输出经crypt 加密过的字符串是null,啥原因

我们经常用的main函数都是不带参数的。因此main 后的括号都是空括号。实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个, 习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:
main (argc,argv)
int argv;
char *argv[];或写成:
main (int argc,char *argv[])
由于main函数不能被其它函数调用, 因此不可能在程序内部取得实际值。那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。

DOS提示符下命令行的一般形式为: C:\>可执行文件名 参数 参数……; 但是应该特别注意的是,main 的两个形参和命令行中的参数在
位置上不是一一对应的。因为,main的形参只有二个,而命令行中的参数个数原则上未加限制。argc参数表示了命令行中参数的个数(注意:文件名本身也算一个参数),argc的值是在输入命令行时由系统按实际参数的个数自动赋予的。例如有命令行为: C:\>E6 24 BASIC dbase FORTRAN由于文件名E6 24本身也算一个参数,所以共有4个参数,因此argc取得的值为4。argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。 指针数组的长度即为参数个数。数组元素初值由系统自动赋予。其表示如图6.8所示:
main(int argc,char *argv){
while(argc-->1)
printf("%s\n",*++argv);
}
本例是显示命令行中输入的参数如果上例的可执行文件名为e24.exe,存放在A驱动器的盘内。
因此输入的命令行为: C:\>a:e24 BASIC dBASE FORTRAN
则运行结果为:
BASIC
dBASE
FORTRAN
该行共有4个参数,执行main时,argc的初值即为4。argv的4个元素分为4个字符串的首地址。执行while语句,每循环一次 argv值减1,当argv等于1时停止循环,共循环三次, 因此共可输出三个参数。在printf函数中,由于打印项*++argv是先加1再打印, 故第一次打印的是argv[1]所指的字符串BASIC。第二、 三次循环分别打印后二个字符串。而参数e24是文件名,不必输出。

㈦ (c语言)求密码

360问答

求古典密码学的c语言代码

guiyids0033 LV122014-01-16

各位高手小弟急需一个维吉尼亚密码的程序。帮帮忙

满意答案



aa7777777777qq

LV12

2014-01-16

给: 维吉尼亚密码的C语言源代码 设m表示明文序列,k表示密钥序列 #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> void crypt(char m[],char k[],char r[]) { int i,j,s=0; j=strlen(k); for(i=0;m[i];i++) m[i]=tolower(m[i]); for(i=0;m[i];i++) if(isalpha(m[i])) { r[i]=(m[i]-'a'+k[s%j]-'a')%26+'a'; s++;/* s用来跳过明文中的空格字符 */ } else r[i]=m[i]; r[i]=0;/* 密文字符串结束符 */ for(i=0;r[i];i++) r[i]=toupper(r[i]); } void decrypt(char c[],char k[],char m[]) { int i,j,s=0; j=strlen(k); for(i=0;c[i];i++) c[i]=tolower(c[i]); for(i=0;c[i];i++) if(isalpha(c[i])) { m[i]=(c[i]-k[s%j]+26)%26+'a'; s++; } else m[i]=c[i]; m[i]=0; } void main() { char m[]="welcome to my blog.i am bugeyes.";//我这里是赋值了一个固定的字符串为明文序列,你也可以做成用户输入的 char k[]="bugeyeswuyan";//我这里是赋值了一个固定的字符串为密钥序列,你也可以做成用户输入的 char c[80]; char d[80]; system("cls");; crypt(m,k,c); decrypt(c,k,d); puts(m); puts(k); puts(c); puts(d); }