[P&AM Lab] Генератор паролей

Константин Никулов nateford на inbox.ru
Пн Фев 14 00:40:37 MSK 2011


проблема с распределением, вроде бы, решается несложной заменой:

		tag = lrand48() % 62;
		
		switch (tag) {
			case 0:
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
			case 6:
			case 7:
			case 8:
			case 9:
				password[i] = (char)(48 + tag);
				break;
			case 10:
			case 11:
			case 12:
			case 13:
			case 14:
			case 15:
			case 16:
			case 17:
			case 18:
			case 19:
			case 20:
			case 21:
			case 22:
			case 23:
			case 24:
			case 25:
			case 26:
			case 27:
			case 28:
			case 29:
			case 30:
			case 31:
			case 32:
			case 33:
			case 34:
			case 35:
				password[i] = (char)(55 + tag);
				break;
			case 36:
			case 37:
			case 38:
			case 39:
			case 40:
			case 41:
			case 42:
			case 43:
			case 44:
			case 45:
			case 46:
			case 47:
			case 48:
			case 49:
			case 50:
			case 51:
			case 52:
			case 53:
			case 54:
			case 55:
			case 56:
			case 57:
			case 58:
			case 59:
			case 60:
			case 61:
				password[i] = (char)(61 + tag);
				break;
			default:
				printf("Tag has bad value.\n");
				exit(1);
		}

Ничего лучше в голову не идет, к сожалению.

Sun, 13 Feb 2011 22:47:58 +0300 письмо от LonelyRuyK <Lonely.RuyK на mail.ru>:

> Единственный небольшой недочёт который заметил это неравномерное распределение
> вероятности для буковок и циферок(любая из циферок вылетает с вероятностью 
> 1/3*1/10 а любая из буковок(в нижнем или верхнем регистре) с вероятностью 
> 1/3*1/26), но эт наверное придирки уже
> _______________________________________________
> Lab mailing list
> Lab на wiki.syktsu.ru
> http://wiki.syktsu.ru/cgi-bin/mailman/listinfo/lab





Подробная информация о списке рассылки Lab