Sign in Join
Wiki copytemporary

Dev random/fr

Deutsch · English · Français

Sommaire

/dev/random et /dev/urandom sont deux périphériques basés Unix et *nix qui traitent de la mémoire, du disque, des that process memory, disc, des vidages réseau (network dumps) depuis le noyau ( Ainsi que du matériel de cryptographie, s'il est présent et activé) pour produire des nombres (pseudo) aléatoires.

La différence entre /dev/random et /dev/urandom est de savoir si le périphérique est "bloquant" or "non bloquant" :

L'usage de /dev/random ou /dev/urandom nous permet d'utiliser une graine "aléatoire" (randseed) pour réaliser des tâches aléatoires avec la fonction random.

Exemples

En vue de faire travailler Free Pascal avec /dev/random et /dev/random, nous pouvons écrire le code suivant :

pascal
procedure RandomSeed;
var
  f : file of integer;
  i : integer;

begin
  i        := 0;
  filemode := 0;
  AssignFile(f, '/dev/urandom'); 
  reset (f,1);
  read (f,i);
  CloseFile (f);
  RandSeed := i;
end;

Explication

Comme presque n'importe quoi d'autre dans les SE *nix, tout est fichier ! Donc, nous accédons à urandom comme à un fichier et nous lisons un seul entier à la fois.

Ainsi, nous plaçons la donnée que nous obtenue comme graine aléatoire (la graine que la fonction random utilise). Et c'est tout, nous avons un semoir aléatoire pour une utilisation "aléatoire".

Voir aussi


From the Free Pascal wiki, page "Dev random/fr", as it stood on 2020-02-13 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 3, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.