¥Ñ¥¹¥ï¡¼¥É¤ò¡¢Íð¿ô¤ò¸µ¤Ë¥é¥ó¥À¥à¤Ëȯ¹Ô¤·¤Þ¤¹¡£ Ϣ³¤·¤Æ½Ð¤¹¾ì¹ç¤Ï¡¢Íð¿ô¤Î½é´ü²½¤òÉÃñ°Ì¤Ç¹Ô¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¡Ê¤³¤ÎÊդϡ¢É¬Íפ˱þ¤¸¤Æ¥½¡¼¥¹¤Î½¤Àµ¤ò¤·¤Æ¤¯¤À¤µ¤¤¡Ë
//---------------------------------------------------------- // ¥Ñ¥¹¥ï¡¼¥É¼«Æ°À¸À®¥Ä¡¼¥ë Ver.0.1 // by myasu 2001/12/10 //---------------------------------------------------------- #include #include #include //¥Ç¥Ð¥Ã¥°ÍÑ //#define DEBUG #ifdef DEBUG #define _MYDEBUG(x) x #else #define _MYDEBUG(x) #endif //À¸À®¤¹¤ëʸ»ú¤Î¼ïÎà enum Char_type {cAlphaUp, cAlphaLw, cNum, cSign }; //---------------------------------------------------------- //»þ´Ö¡õÍð¿ôÀ¸À® int TimeDaySecond(void) { struct tm *nowtime; long gettime; time(&gettime); nowtime = localtime(&gettime); return(nowtime->tm_hour * 3600 + nowtime->tm_min * 60 + nowtime->tm_sec); } void Randomize(int num) { srand(num); } int Random(int bigin, int end) { int data; for(;;){ data = rand() % (end + 1); if(data >= bigin) return(data); } } //---------------------------------------------------------- //¥Ñ¥¹¥ï¡¼¥ÉÀ¸À® int main(int argc, char **argv) { int i, string_length, //À¸À®¤¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ÎŤµ chrmode; //¥Ñ¥¹¥ï¡¼¥É¤Ë´Þ¤àʸ»ú¤Î¼ïÎà char passwd[32]; //À¸À®¤·¤¿¥Ñ¥¹¥ï¡¼¥É enum Char_type chrtype; //ʸ»ú¤Î¼ïÎà //Íð¿ô¤Î½é´ü²½ Randomize(TimeDaySecond()); //°ú¿ô¤¬¤Ê¤¤¾ì¹ç if(argc <= 1){ printf("\nmake passwd - ¥Ñ¥¹¥ï¡¼¥É¼«Æ°À¸À®¥Ä¡¼¥ë Ver.0.1\n\n"); printf("usage : makepasswd [ʸ»ú¿ô] [¥Ñ¥¹¥ï¡¼¥É¤Ë´Þ¤àʸ»ú¤Î¼ïÎà]\n\n"); printf("[ʸ»ú¿ô] : 32ʸ»ú¤Þ¤Ç\n"); printf("[¥Ñ¥¹¥ï¡¼¥É¤Ë´Þ¤àʸ»ú]\n"); printf(" : 0 - ±ÑÂçʸ»ú\n"); printf(" : 1 - ±ÑÂçʸ»ú¡¢±Ñ¾®Ê¸»ú\n"); printf(" : 2 - ±ÑÂçʸ»ú¡¢±Ñ¾®Ê¸»ú¡¢¿ô»ú\n"); printf(" : 3 - ±ÑÂçʸ»ú¡¢±Ñ¾®Ê¸»ú¡¢¿ô»ú¡¢µ¹æ[!\"#$%&'()*+,-./]\n\n"); return 1; } //À¸À®¤¹¤ë¥Ñ¥¹¥ï¡¼¥É¤ÎŤµ¤ò°ú¿ô¤«¤é¼è¤ê¹þ¤à string_length = atoi(argv[1]); if(string_length > 32){ printf("[Âè1°ú¿ô] : 33ʸ»ú°Ê¾å¤ÏÀ¸À®¤Ç¤¤Þ¤»¤ó¡£\n"); } //À¸À®¤¹¤ë¥Ñ¥¹¥ï¡¼¥É¤Ë´Þ¤àʸ»ú¤Î¼ïÎà¤ò°ú¿ô¤«¤é¼è¤ê¹þ¤à chrmode = atoi(argv[2]); if(chrmode > 4 || chrmode < 0){ printf("[Âè2°ú¿ô] : 0,1,2,3¤«¤éÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£\n"); } //¥Ç¥Ð¥Ã¥°ÍÑ _MYDEBUG(printf("string_length : %d\n", string_length)); _MYDEBUG(printf("string_mode : %d\n", chrmode)); //¥Ñ¥¹¥ï¡¼¥É¤ÎÀ¸À® for(i = 0; i < string_length; ++i){ //ʸ»ú¤Î¼ïÎà¤òÁªÂò chrtype = Random(0, chrmode); //ÁªÂòÈÖ¹æ¤Çʬ´ô switch(chrtype){ case cAlphaUp: //Âçʸ»ú¤òÀ¸À® passwd[i] = Random(0x41, 0x5a); break; case cAlphaLw: //¾®Ê¸»ú¤òÀ¸À® passwd[i] = Random(0x61, 0x7a); break; case cNum: //¿ô»ú¤òÀ¸À® passwd[i] = Random(0x30, 0x39); break; case cSign: //µ¹æ¤òÀ¸À® passwd[i] = Random(0x21, 0x2f); break; default: break; } } //NULL¤ÇÊĤ¸¤ë passwd[i] = '\0'; printf("%s\n", passwd); }