随机密码生成器

环境:DEV-C++

代码

源码及可执行文件:password_generator

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>

//随机密码生成器,直接将密码复制到剪切板 
//int num = rand() % n + a;
//a是起始值,n-1+a是终止值,n是整数的范围

//将内容写道剪切板的函数 
int write_clipboard(char *strText)
{

    // 打开剪贴板   
    if (!OpenClipboard(NULL)|| !EmptyClipboard())    
    {   
        printf("打开或清空剪切板出错!\n");   
        return -1;   
    }   
    HGLOBAL hMen;   

    // 分配全局内存    
    hMen = GlobalAlloc(GMEM_MOVEABLE, ((strlen(strText)+1)*sizeof(TCHAR)));    
    if (!hMen)   
    {   
        printf("分配全局内存出错!\n");

        // 关闭剪切板    
        CloseClipboard();   
        return -1;         
    }   

    // 把数据拷贝考全局内存中   
    // 锁住内存区    
    LPSTR lpStr = (LPSTR)GlobalLock(hMen); 

    // 内存复制   
    memcpy(lpStr, strText, ((strlen(strText))*sizeof(TCHAR)));   

    // 字符结束符    
    lpStr[strlen(strText)] = (TCHAR)0;   

    // 释放锁    
    GlobalUnlock(hMen);   

    // 把内存中的数据放到剪切板上   
    SetClipboardData(CF_TEXT, hMen);   
    CloseClipboard();   
    return 0; 

}

int main(void){

	//确保每次生成的随机数不同
	srand((unsigned)time(NULL));
	
	//密码的长度为随机12-24位 
	int length = rand()%13+12;
	char password[length];
	
	//循环生成密码 
	for(int i=0; i<length; i++){
		
		//密码的取值为随机ascii码的48-126 
		password[i] = rand()%79+48;
	}

	//输出密码到剪切板 
	write_clipboard(password);
	
	return 0;
}
THE END
分享
二维码
海报
随机密码生成器
环境:DEV-C++ 代码 源码及可执行文件:password_generator #include <stdio.h> #include <stdlib.h> #include <time.h> #include <w……