Wetware.ReadRandom 3.0.1

dotnet add package Wetware.ReadRandom --version 3.0.1
                    
NuGet\Install-Package Wetware.ReadRandom -Version 3.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Wetware.ReadRandom" Version="3.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Wetware.ReadRandom" Version="3.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Wetware.ReadRandom" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Wetware.ReadRandom --version 3.0.1
                    
#r "nuget: Wetware.ReadRandom, 3.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Wetware.ReadRandom@3.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Wetware.ReadRandom&version=3.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Wetware.ReadRandom&version=3.0.1
                    
Install as a Cake Tool

ReadRandom

Dotnet library for reading random numbers from a CPU's digital random number generator (DRNG).

This library contains methods for invoking the RDRAND and RDSEED instructions on Intel and AMD CPUs.

See https://www.intel.com/content/www/us/en/developer/articles/guide/intel-digital-random-number-generator-drng-software-implementation-guide.html for more details

Digital Random Number Generator design

Installing

Install the Wetware.ReadRandom package from NuGet (https://www.nuget.org/packages/Wetware.ReadRandom)

Usage

using Wetware.ReadRandom;

// Read a random seed value from the CPU
uint seed = Cpu.ReadRandomSeed();

// Read a random value from the CPU
uint random = Cpu.ReadRandom();

Limitations

  • Does not poll the ECX register to determine if RDRAND and RDSEED are supported processor features
  • Does not support the REX prefix and can only operate in 32 bit mode.
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.1 133 12/21/2024
3.0.0 146 11/25/2024
2.0.0 171 8/11/2024
1.1.1 170 9/19/2023