- 论坛徽章:
- 0
|
系统: suse profesional9.2
想要达到如下目的: 我的毕业设计需要自己写一个脚本用来添加和删除用户。于是我希望在/etc/passwd里面添加用户及其相关信息之后,能够用crypt将我给定的用户密码加密,然后写进/etc/shadow
我在网上找到了一个关于crypt加密的程序,因为我对此基本没有什么了解,所以将这个简短的程序发上来,让高手看看问题所在
- #include <stdio.h>;
- #include <unistd.h>;
- int main(int argc, char** argv)
- {
- if( argc !=3 )
- {
- fprintf(stderr, "%s need two arguments to encrypt\n", argv[0]);
- return -1;
- }
- printf("%s", crypt(argv[1], argv[2]));
- return 0;
- }
复制代码
然后编译之后运行诸如 mycrypt hallo hi
得到如下加密后的密码:haowug8UG5TfI
这显然不是我想要的
比如我系统下某个用户的密码是 gsohb21
在shadow中是这样:$2a$10$czGHpQKFyDWrpTeNL
或者:$2a$10$21eCSbTlXujIrmbi8fISku91pH.JMdiv7hyOOXVH47LCIzjkgPUBC
两个用户加密之后的密码不一样,请问这是怎么实现的
请知道的朋友务必指点一二,我在这里谢过大家了! [/code] |
|