Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1256928
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类: LINUX

2011-03-05 21:30:48

 

  1. #include <stdio.h>
  2. #define _XOPEN_SOURCE
  3. #include <unistd.h>
  4. #include <shadow.h>
  5. #define BUFSIZE 1024
  6. int main(int argc, char *argv[])
  7. {
  8.     char buf[BUFSIZE];
  9.     struct spwd *sp;
  10.     char *enc;
  11.     if (argc < 2)
  12.     {
  13.         fprintf(stderr, "Usage: ...\n");
  14.         return -1;
  15.     }
  16.     printf("Username: %s\n", argv[1]);
  17.     printf("Password: ");
  18.     scanf("%s", buf);
  19.     sp = getspnam(argv[1]);
  20.     if (sp == NULL)
  21.     {
  22.         perror("getspname");
  23.         return -1;
  24.     }
  25.     printf("sp->sp_pwdp = %s\n", sp->sp_pwdp);
  26.     printf("buf = %s\n", buf);
  27.     enc = crypt(buf, sp->sp_pwdp);
  28.     printf("enc = %s\n", enc);
  29.     if (strcmp(enc, sp->sp_pwdp) == 0)
  30.     {
  31.         printf("Yes!\n");
  32.     }
  33.     else
  34.     {
  35.         printf("No!\n");
  36.     }
  37.     return 0;
  38. }
阅读(719) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~