# RAND crypto functions

## Functions
void | RAND_seed (const void *indata, size_t size)
int | RAND_bytes (void *outdata, size_t size)
void | RAND_cleanup (void)
void | RAND_add (const void *indata, size_t size, double entropi)
int | RAND_pseudo_bytes (void *outdata, size_t size)
int | RAND_status (void)
int | RAND_set_rand_method (const RAND_METHOD *meth)
const RAND_METHOD * | RAND_get_rand_method (void)
int | RAND_set_rand_engine (ENGINE *engine)
int | RAND_load_file (const char *filename, size_t size)
int | RAND_write_file (const char *filename)
const char * | RAND_file_name (char *filename, size_t size)

## Detailed Description

See the RAND - random number for description and examples.

## Function Documentation

void RAND_add | ( | const void * | indata,
|  | size_t | size,
|  | double | entropi |
| ) |  |  |

Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.

Parameters:

  | indata | the input data.
  | size | size of in data.
  | entropi | entropi in data.

int RAND_bytes | ( | void * | outdata,
|  | size_t | size |
| ) |  |  |

Get a random block from the random generator, can be used for key material.

Parameters:

  | outdata | random data
  | size | length random data

Returns:
  1 on success, 0 on failure.

void RAND_cleanup | ( | void |  | ) |

Reset and free memory used by the random generator.

const char* RAND_file_name | ( | char * | filename,
|  | size_t | size |
| ) |  |  |

Return the default random state filename for a user to use for RAND_load_file(), and RAND_write_file().

Parameters:

  | filename | buffer to hold file name.
  | size | size of buffer filename.

Returns:
  the buffer filename or NULL on failure.

const RAND_METHOD* RAND_get_rand_method | ( | void |  | ) |

Get the default random method.

int RAND_load_file | ( | const char * | filename,
|  | size_t | size |
| ) |  |  |

Load a a file and feed it into RAND_seed().

Parameters:

  | filename | name of file to read.
  | size | minimum size to read.

int RAND_pseudo_bytes | ( | void * | outdata,
|  | size_t | size |
| ) |  |  |

Get a random block from the random generator, should NOT be used for key material.

Parameters:

  | outdata | random data
  | size | length random data

Returns:
  1 on success, 0 on failure.

void RAND_seed | ( | const void * | indata,
|  | size_t | size |
| ) |  |  |

Seed that random number generator. Secret material can securely be feed into the function, they will never be returned.

Parameters:

  | indata | seed data
  | size | length seed data

int RAND_set_rand_engine | ( | ENGINE * | engine | ) |

Set the default random method from engine.

Parameters:

  | engine | use engine, if NULL is passed it, old method and engine is cleared.

Returns:
  1 on success, 0 on failure.

int RAND_set_rand_method | ( | const RAND_METHOD * | meth | ) |

Set the default random method.

Parameters:

  | meth | set the new default method.

Returns:
  1 on success.

int RAND_status | ( | void |  | ) |

Return status of the random generator

Returns:
  1 if the random generator can deliver random data.

int RAND_write_file | ( | const char * | filename | ) |

Write of random numbers to a file to store for later initiation with RAND_load_file().

Parameters:

  | filename | name of file to write.

Returns:
  1 on success and non-one on failure.