一、crypt函数
#define _XOPEN_SOURCE /* See feature_test_macros(7) */
#include <unistd.h >
char *crypt(const char *key, const char *salt);
二、函数说明
crypt是个密码加密函数,它是基于Data Encryption Standard(DES)演算法。crypt只适用于密码的使用,不适合用于资料加密。
crypt()将参数key所指的字符串加以加密,key字符串长度仅取前8个字符,超过此长度的字符没有意义。
参数salt为两个字符组成的字符串,由a-z、A-Z、0-9,“.”和“/”所组成,用来决定使用4096 (a-z、A-Z、0-9,“.”和“/”共64个字符,64的平方为4096)种不同内建表格的哪一个。函数执行成功后会返回指向编码过的字符串指针,参数key所指的字符串不会有所更动。
无论输入是什么,输出的都是长度为13个字符的字符串。
编码过的字符串长度为13 个字符,前两个字符为参数salt代表的字符串。
三、返回值
返回一个指向以NULL结尾的密码字符串。
注意:编译时要在末尾添加-lcrypt选项。
四、实例
#include <stdio.h>
#include <string.h>
#include <unistd.h>
int main()
{
char password[13];
char *key;
char slat[2];
key = getpass("Input