介绍
源代码地址:https://github.com/nmathewson/libottery。
由于传统的随机数生成使用非常麻烦,并且要么存在安全问题,要么没有安全问题,但是运行速度太慢,所以libottery库的作者自己实现了随机数生成的方法,我们可以直接安装使用即可。
下载代码:git clone https://github.com/nmathewson/libottery.git。编译安装

使用示例
tott.c:
// gcc -Wall -o tott tott.c -lottery
#include <stdio.h>
#include <stdlib.h>
#include "ottery.h"
int main() {
unsigned char buf[16] = {0x00} ;
ottery_rand_bytes(buf, sizeof(buf));
printf("bytes : ") ;
for(int i=0; i<sizeof(buf); ++i) {
printf("%02x", buf[i]) ;
}
unsigned u1 = ottery_rand_unsigned();
printf("\nunsigned : %u", u1) ;
uint32_t u2 = ottery_rand_uint32();
printf("\nuint32 : %u", u2) ;
uint64_t u3 = ottery_rand_uint64();
printf("\nuint64 : %lu", u3) ;
unsigned u4 = ottery_rand_range(100);
printf("\nrange 100 : %u", u4) ;
uint64_t u5 = ottery_rand_range64(2000);
printf("\nrange64 : %lu\n", u5) ;
ottery_wipe();
}
编译运行

发表回复