okpasswd.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 43 行

C
43
字号
#include <u.h>#include <libc.h>#include <authsrv.h>#include <bio.h>#include "authcmdlib.h"char *trivial[] = {	"login",	"guest",	"change me",	"passwd",	"no passwd",	"anonymous",	0};char*okpasswd(char *p){	char passwd[ANAMELEN];	char back[ANAMELEN];	int i, n;	strncpy(passwd, p, sizeof passwd - 1);	passwd[sizeof passwd - 1] = '\0';	n = strlen(passwd);	while(passwd[n - 1] == ' ')		n--;	passwd[n] = '\0';	for(i = 0; i < n; i++)		back[i] = passwd[n - 1 - i];	back[n] = '\0';	if(n < 8)		return "password must be at least 8 chars";	for(i = 0; trivial[i]; i++)		if(strcmp(passwd, trivial[i]) == 0		|| strcmp(back, trivial[i]) == 0)			return "trivial password";	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?