Top/Server/Tools/MakePassword

³µÍ×

¥Ñ¥¹¥ï¡¼¥É¤ò¡¢Íð¿ô¤ò¸µ¤Ë¥é¥ó¥À¥à¤Ëȯ¹Ô¤·¤Þ¤¹¡£ Ϣ³¤·¤Æ½Ð¤¹¾ì¹ç¤Ï¡¢Íð¿ô¤Î½é´ü²½¤òÉÃñ°Ì¤Ç¹Ô¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¡Ê¤³¤ÎÊդϡ¢É¬Íפ˱þ¤¸¤Æ¥½¡¼¥¹¤Î½¤Àµ¤ò¤·¤Æ¤¯¤À¤µ¤¤¡Ë

¥½¡¼¥¹¥³¡¼¥É

//----------------------------------------------------------
//  ¥Ñ¥¹¥ï¡¼¥É¼«Æ°À¸À®¥Ä¡¼¥ë 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);
}
2005-07-12 14:16:53 (²Ð)

²È¥µ¡¼¥Ð´ÉÍýÄ¢


¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2005-12-26 (·î) 00:53:35