当前位置:操作系统 > Unix/Linux >>

Solaris7程序生成系统用户方法

六、程序生成系统用户方法(crypt)crypt是个密码加密函数,它是基於Data Encryption Standard(DES)演算法。

  crypt基本上是One way encryption,因此它只适用於密码的使用,不适合於资料加密。

  char *crypt(const char *key, const char *salt);

  key是使用者的密码。salt是两个字,每个字可从[a-zA-Z0-9./]中选出来,因此同一密码增加了4096种可能性。透过使用key中每个字的低七位元,取得56-bit关键字,这 56-bit关键字被用来加密成一组字,这组字有13个可显示的 ASCII字,包含开头两个salt。 crypt在您有自行管理使用者的场合时使用,例如会员网站、BBS等等。

  范例一 : crypt_word.c

  #include

  #include

  #include

  void main(int argc,char **argv)

  {

  if (argc!=3) exit(0);

  setkey(argv[2]);

  printf("%s\n",crypt(argv[1],argv[2]));

  }

  编译

  gcc -o crypt_word crypt.c -lcrypt

  检验

  请先看您的/etc/passwd,找一个您自己的帐号,看前面两个字,那是您自己的salt。

  接下来输入: ./crypt_word your_password salt

  您也可以利用Apache上所附的htpasswd来产生加密字做为验证。

  fprintf(f_passwd,"%s:x:%d:%s::%s/%s:/bin/sh\n",get_name,get_uid,sUserGrou

  p,get_path,get_name);

  setkey("O7");

  get_password1=get_password;

  get_password1=crypt(get_pass,"O7");

  fprintf(f_shadow,"%s:%s:10000::::::\n",get_name,get_password1);

  sprintf(sys_str,"mkdir %s/%s",get_path,get_name);

  

上一个:solaris7下的SMTP和POP3的安装
下一个:SOLARIS2.6常用管理命令

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,