#include <stdio.h>
#include <openssl/err.h>
#include <openssl/rand.h>


int main(int argc, char* argv[])
{
        int i;
        int retVal = 0;
        // 랜덤 수의 길이는 64로 한다.


        int length = 64;
        // PRNG에 공급할 seed 생성
        RAND_status();
        // 생성할 랜덤 수 길이만큼의 버퍼 생성
        unsigned char *buffer = (unsigned char*)malloc(sizeof(unsigned char) * length);


        // run PRNG
        retVal = RAND_bytes(buffer, length);
        if(retVal <= 0) {
                printf(“error encount!n”);
                return 0;
        }


        // print random number
        printf(“Random number = “);


        for(i = 0; i < length; i++)
                printf(“%c”, buffer[i]);


        return 1;
}


 


 Windows의 경우 RAND_status() 를 RAND_screen() 으로 바꿔주면 된다.


 



Tags: ,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.