LINUX.ORG.RU

я использую

pwgen() { /usr/bin/tr --complement --delete "[:alnum:]" < /dev/urandom | /usr/bin/head --bytes 8 | { read pw; echo "${pw:0:4}-${pw:4:4}"; } }
и хз, пароль есть пароль. уникальный. как он может быть ненадежным? :|

Spoofing ★★★★★
()

Этот штоле? http://sourceforge.net/projects/pwgen/files/pwgen/2.06/

Если количество символов в pwgen < 5 он форсированно для каждого следующего символа юзает urandom. В остальных случаях есть выбор между тем же рандомом, фонемами и sha1.

Суть рандома в следующем:

/* Borrowed/adapted from e2fsprogs's UUID generation code */
static int get_random_fd()
{
	struct timeval	tv;
	static int	fd = -2;
	int		i;

	if (fd == -2) {
		gettimeofday(&tv, 0);
		fd = open("/dev/urandom", O_RDONLY);
		if (fd == -1)
			fd = open("/dev/random", O_RDONLY | O_NONBLOCK);
#ifdef HAVE_DRAND48
		srand48((tv.tv_sec<<9) ^ (getpgrp()<<15) ^
			(getpid()) ^ (tv.tv_usec>>11));
#else
		srandom((getpid() << 16) ^ (getpgrp() << 8) ^ getuid() 
		      ^ tv.tv_sec ^ tv.tv_usec);
#endif
	}
	/* Crank the random number generator a few times */
	gettimeofday(&tv, 0);
	for (i = (tv.tv_sec ^ tv.tv_usec) & 0x1F; i > 0; i--)
#ifdef HAVE_DRAND48
		drand48();
#else
		random();
#endif
	return fd;
}

Судя по этому коду, сеет-пашет он несколько получше, чем твой однострочник

stevejobs ★★★★☆
()

pwgen можно попросить генерировать удобные для людей пароли опциями -B и -v.

AITap ★★★★★
()

/dev/random для большей надежности

buddhist ★★★★★
()

Секьюрити это зачастую не вопрос удобства. Лучше выбирать то что 1) генерит наиболее труднопредсказуемые пароли 2) прошло минимальное ревью теми кто что-то понимает в безопасности.

У меня был неприятный случай когда моя самописная прога на питоне генерила неправильные md5 хэши для /etc/shadow и при этом система их воспринимала как валидные. Проблема в том что многие пароли почему-то проходили как валидные. Заметили косяк через пол года когда удалось зайти с обрезанным паролём. Если найду код то покажу.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.