生成安全的随机数

使用Crypto API,比标准库要更随机一点

返回的可能是一个负数,这一点需要注意。

#pragma comment(lib, "crypt32.lib")
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#include <stdio.h>
#include <windows.h>
#include <wincrypt.h>

int rand_s()
{
	HCRYPTPROV   hCryptProv;
	int result;
	result = CryptAcquireContext(    
		&hCryptProv,
		NULL,
		NULL,
		PROV_RSA_FULL,
		CRYPT_VERIFYCONTEXT );
	if(!result){
		printf("CryptAcquireContext failed: %x\n",GetLastError());
		return 0;
	}
	CryptGenRandom(hCryptProv,sizeof(int),(char*)&result);
	CryptReleaseContext(hCryptProv,0);
	return result;
}

蝙蝠

今天,一只蝙蝠飞进了我的房间,飞来飞去的,很可怕。

在湖边散步的时候会碰到很多蝙蝠,并不觉得害怕,可是一旦飞进家里就怕了,这是为什么呢?

因为被吓到了,所以忘记了拍照片,抱歉。

使用u盘启动wubi

电脑上除了有系统分区(c:)之外,还有数据分区(d:),xp系统。
系统分区的数据重启后会被还原,数据分区却不会。
现在想在d:安装wubi,但是c:\boot.ini关机后就会被还原掉,无法引导至wubi。
好在手头上有一个u盘,电脑也支持u盘启动。

步骤:
1、把syslinux安装到u盘上(用unetbootin就有了,你也可以尝试其它的方法)
2、把c:\wubildr.mbr复制到u盘根目录里,改名为wubildr.bs(syslinux将扩展名为bs的kernel识别为实模式下的boot sector)
3、修改u盘根目录下的syslinux.cfg,在文件末尾加上:

label wubi
menu label wubi
kernel /wubildr.bs

4、把c:\wubildr复制到d:
5、重启,在u盘中启动,菜单中选择wubi项,它应该能找到d:\wubildr并进入stage2,最后启动wubi。祝你好运!
(在我的电脑上测试成功,明天到别的地方试试)

(不过我现在知道了还原卡的密码,不需要这个方法了)