crypt(将密码或数据编码) | |
|
相关函数 |
getpass |
|
表头文档 |
#define _XOPEN_SOURCE #include<unistd.h> |
|
定义函数 |
char * crypt (const char *key,const char * salt); |
|
函数说明 |
crypt()将使用Data Encryption
Standard(DES)演算法将参数key所指的字符串加以编码,key字符串长度仅取前8个字符,超过此长度的字符没有意义。参数salt为两个字
符组成的字符串,由a-z、A-Z、0-9,“.”和“/”所组成,用来决定使用4096
种不同内建表格的哪一个。函数执行成功后会返回指向编码过的字符串指针,参数key 所指的字符串不会有所更动。编码过的字符串长度为13
个字符,前两个字符为参数salt代表的字符串。 |
|
返回值 |
返回一个指向以NULL结尾的密码字符串。 |
|
附加说明 |
使用GCC编译时需加-lcrypt。 |
|
范例 |
#include<unistd.h> main() { char passwd[13]; char *key; char slat[2]; key= getpass(“Input First Password:”); slat[0]=key[0]; slat[1]=key[1]; strcpy(passwd,crypt(key slat)); key=getpass(“Input Second Password:”); slat[0]=passwd[0]; slat[1]=passwd[1]; printf(“After crypt(),1st passwd :%s\n”,passwd); printf(“After crypt(),2nd passwd:%s \n”,crypt(key slat)); } |
|
执行 |
Input First Password: /* 输入test,编码后存于passwd[ ] */ Input Second Password /*输入test,密码相同编码后也会相同*/ After crypt () 1st Passwd : teH0wLIpW0gyQ After crypt () 2nd Passwd : teH0wLIpW0gyQ |
|
| |
|
|
bsearch(二元搜索) |
|
相关函数 |
qsort |
|
表头文档 |
#include<stdlib.h> |
|
定义函数 |
void *bsearch(const void *key,const void *base,size_t nmemb,size_tsize,int (*compar) (const void*,const void*)); |
|
函数说明 |
bsearch()利用二元搜索从排序好的数组中查找数据。参数key指向欲查找的关键数
据,参数base指向要被搜索的数组开头地址,参数nmemb 代表数组中的元素数量,每一元素的大小则由参数size决定,最后一项参数compar
为一函数指针,这个函数用来判断两个元素之间的大小关系,若传给compar
的第一个参数所指的元素数据大于第二个参数所指的元素数据则必须回传大于0 的值,两个元素数据相等则回传0。 |
|
附加说明 |
找到关键数据则返回找到的地址,假如在数组中很难找到关键数据则返回NULL。 |
|
范例 |
#include<stdio.h> #include<stdlib.h> #define NMEMB 5 #define SIZE 10 int compar(const void *a,const void *b) { return (strcmp((char *)a,(char *)b)); } main() { char data[50][size]=; char key[80],*base ,*offset; int i, nmemb=NMEMB,size=SIZE; while(1){ printf(“>”); fgets(key,sizeof(key),stdin); key[strlen(key)-1]=’’; if(!strcmp(key,”exit”))break; if(!strcmp(key,”list”)){ for(i=0;i<nmemb;i ) printf(“%s\n”,data[i]); continue; } base = data[0]; qsort(base,nmemb,size,compar); offset = (char *) bsearch(key,base,nmemb,size,compar); if( offset = =NULL){ printf(“%s not found!\n”,key); strcpy(data[nmemb ],key); printf(“Add %s to data array\n”,key); }else{ printf(“found: %s \n”,offset); } } }
文章整理:西部数码--专业提供域名注册、虚拟主机服务 相关文章
热点关注
IDC资讯
虚拟主机
域名注册
托管租用
vps主机
智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源 网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧 行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒 网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它 服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护 软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer 网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash 程序设计 Java技术 C/C++ VB delphi 网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术 操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD |
Linux C 函数参考(数据结构及算法)
来源:互联网
作者:west263.com
时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!



