Linux 密码生成

  1. gcc   -o   cryptword   cryptword.c   -lcrypt   
  2. ----------------------------------------------
  3. #define _XOPEN_SOURCE
  4. #include   <stdio.h>  
  5. #include   <shadow.h>  
  6. #include   <sys/types.h>  
  7. #include   <string.h>  
  8. #include   <stdlib.h>  
  9. #include   <unistd.h>   
  10. int main()
  11. {
  12.     char *password;
  13.     password = crypt("123456","$1$XnPos$");
  14.     printf("---->%s<----/n",password);
  15. }
  16. ------------------------------------------------


2.3MD5算法

它是真正的散列算法。允许无限长的口令。它使用的salt空间也别DES算法大得多,所以两口令相同的可能性更小。它也通过调用crypt(3)函数实现。MD5算法使用的 salt必须以$1$开头,并以$结尾。且salt长度为8个字符。例如要用abcdef为salt 散列mypass,那么如下:

%perl -e 'print crypt("mypass","/$1/$abcdef/$"),"/n"'
$1$abcdef$nRHvewzGzJoYskdQAIEQr

注:上例中的"/n"均为转义字符。salt值为$1$abcdef$,原始密码为mypass,散列值为:$1$abcdef$nRHvewzGzJoYskdQAIEQr,MD5算法得到的散列值为31个字符长,并且都以$1$开头。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值