中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

生成隨機(jī)密碼的C代碼實(shí)現(xiàn)

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
    問(wèn)題描述

        某些軟件在登錄的時(shí)候,經(jīng)常會(huì)要求用戶(hù)輸入一個(gè)系統(tǒng)發(fā)過(guò)來(lái)的隨機(jī)密碼(或稱(chēng)校驗(yàn)碼),用于對(duì)用戶(hù)的身份進(jìn)行校驗(yàn),防止惡意登錄。

        要求用C語(yǔ)言生成一組長(zhǎng)度為6位的隨機(jī)密碼串。

        rand函數(shù)簡(jiǎn)介

        rand函數(shù)是真正的隨機(jī)數(shù)生成器,它會(huì)返回一個(gè)范圍在0到RAND_MAX(2147483647)之間隨機(jī)數(shù)值。

        該函數(shù)的原型為:int rand(void);

        在使用該函數(shù)的時(shí)候,要包含頭文件“stdlib.h”。

/**********************************************************************
* 版權(quán)所有 (C)2015, Zhou Zhaoxiong。
*
* 文件名稱(chēng):TestRand.c
* 文件標(biāo)識(shí):無(wú)
* 內(nèi)容摘要:測(cè)試rand()函數(shù)的用法
* 其它說(shuō)明:無(wú)
* 當(dāng)前版本: V1.0
* 作 者: Zhou Zhaoxiong
* 完成日期: 20150316
*
**********************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 重定義數(shù)據(jù)類(lèi)型
typedef unsigned char UINT8;
typedef signed int INT32;
typedef unsigned int UINT32;
/**********************************************************************
* 功能描述:主函數(shù)
* 輸入?yún)?shù):無(wú)
* 輸出參數(shù):無(wú)
* 返 回 值:無(wú)
* 其它說(shuō)明:無(wú)
* 修改日期 版本號(hào) 修改人 修改內(nèi)容
* -------------------------------------------------------------------
* 20150316 V1.0 Zhou Zhaoxiong 創(chuàng)建
***********************************************************************/
INT32 main()
{
UINT32 iLoopFlag = 0;
UINT32 iRandValue = 0;
UINT8 szRandValue[100] = {0};
UINT8 szFetchValue[100] = {0};
for (iLoopFlag = 0; iLoopFlag < 20; iLoopFlag ++) // 生成20個(gè)隨機(jī)密碼
{
iRandValue = rand();
snprintf(szRandValue, sizeof(szRandValue)-1, "%d", iRandValue);
if (strlen(szRandValue) >= 6) // 獲取后六位
{
strncpy(szFetchValue, szRandValue+strlen(szRandValue)-6, 6);
printf("%s\n", szFetchValue);
}
else // 位數(shù)不足, 在左邊補(bǔ)0
{
snprintf(szFetchValue, sizeof(szFetchValue)-1, "%0*d%s", 6-strlen(szRandValue), 0, szRandValue);
printf("%s\n", szFetchValue);
}
}
return 0;
}

        makefile文件內(nèi)容

       TestRand : TestRand.c

       gcc -c -g TestRand.c

       gcc -g -o release/TestRandTestRand.o

       rm *.o

 

        隨機(jī)密碼的生成

        執(zhí)行“make”命令之后,轉(zhuǎn)到“release”目錄之下,執(zhí)行“TestRand”命名,生成的隨機(jī)密碼如下所示:

        289383

        930886

        692777

        636915

        747793

        238335

        885386

        760492

        516649

        641421

        202362

        490027

        368690

        520059

        897763

        513926

        180540

        383426

        089172

        455736

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:C++STL之歸并排序

下一篇:Javascript監(jiān)測(cè)網(wǎng)絡(luò)狀況