libottery开源C语言随机数生成库

libottery开源C语言随机数生成库

介绍

源代码地址: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();
}

编译运行

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注