C# Class Google.Authenticator.TwoFactorAuthenticator

Mostrar archivo Open project: BrandonPotter/GoogleAuthenticator Class Usage Examples

Public Properties

Property Type Description
_epoch DateTime

Public Methods

Method Description
GeneratePINAtInterval ( string accountSecretKey, long counter, int digits = 6 ) : string
GenerateSetupCode ( string accountTitleNoSpaces, string accountSecretKey, int qrCodeWidth, int qrCodeHeight ) : SetupCode

Generate a setup code for a Google Authenticator user to scan.

GenerateSetupCode ( string issuer, string accountTitleNoSpaces, string accountSecretKey, int qrCodeWidth, int qrCodeHeight ) : SetupCode

Generate a setup code for a Google Authenticator user to scan (with issuer ID).

GenerateSetupCode ( string issuer, string accountTitleNoSpaces, string accountSecretKey, int qrCodeWidth, int qrCodeHeight, bool useHttps ) : SetupCode

Generate a setup code for a Google Authenticator user to scan (with issuer ID).

GetCurrentPIN ( string accountSecretKey ) : string
GetCurrentPIN ( string accountSecretKey, System.DateTime now ) : string
GetCurrentPINs ( string accountSecretKey ) : string[]
GetCurrentPINs ( string accountSecretKey, System.TimeSpan timeTolerance ) : string[]
TwoFactorAuthenticator ( ) : System
TwoFactorAuthenticator ( bool useManagedSha1, bool useUnmanagedOnFail ) : System
ValidateTwoFactorPIN ( string accountSecretKey, string twoFactorCodeFromClient ) : bool
ValidateTwoFactorPIN ( string accountSecretKey, string twoFactorCodeFromClient, TimeSpan timeTolerance ) : bool

Private Methods

Method Description
Base32Encode ( byte data ) : string
EncodeAccountSecretKey ( string accountSecretKey ) : string
GenerateHashedCode ( byte key, long iterationNumber, int digits = 6 ) : string
GenerateHashedCode ( string secret, long iterationNumber, int digits = 6 ) : string
GetCurrentCounter ( ) : long
GetCurrentCounter ( System.DateTime now, System.DateTime epoch, int timeStep ) : long
UrlEncode ( string value ) : string
getHMACSha1Algorithm ( byte key ) : HMACSHA1

Creates a HMACSHA1 algorithm to use to hash the counter bytes. By default, this will attempt to use the managed SHA1 class (SHA1Manager) and on exception (FIPS-compliant machine policy, etc) will attempt to use the unmanaged SHA1 class (SHA1CryptoServiceProvider).

Method Details

GeneratePINAtInterval() public method

public GeneratePINAtInterval ( string accountSecretKey, long counter, int digits = 6 ) : string
accountSecretKey string
counter long
digits int
return string

GenerateSetupCode() public method

Generate a setup code for a Google Authenticator user to scan.
public GenerateSetupCode ( string accountTitleNoSpaces, string accountSecretKey, int qrCodeWidth, int qrCodeHeight ) : SetupCode
accountTitleNoSpaces string Account Title (no spaces)
accountSecretKey string Account Secret Key
qrCodeWidth int QR Code Width
qrCodeHeight int QR Code Height
return SetupCode

GenerateSetupCode() public method

Generate a setup code for a Google Authenticator user to scan (with issuer ID).
public GenerateSetupCode ( string issuer, string accountTitleNoSpaces, string accountSecretKey, int qrCodeWidth, int qrCodeHeight ) : SetupCode
issuer string Issuer ID (the name of the system, i.e. 'MyApp')
accountTitleNoSpaces string Account Title (no spaces)
accountSecretKey string Account Secret Key
qrCodeWidth int QR Code Width
qrCodeHeight int QR Code Height
return SetupCode

GenerateSetupCode() public method

Generate a setup code for a Google Authenticator user to scan (with issuer ID).
public GenerateSetupCode ( string issuer, string accountTitleNoSpaces, string accountSecretKey, int qrCodeWidth, int qrCodeHeight, bool useHttps ) : SetupCode
issuer string Issuer ID (the name of the system, i.e. 'MyApp')
accountTitleNoSpaces string Account Title (no spaces)
accountSecretKey string Account Secret Key
qrCodeWidth int QR Code Width
qrCodeHeight int QR Code Height
useHttps bool Use HTTPS instead of HTTP
return SetupCode

GetCurrentPIN() public method

public GetCurrentPIN ( string accountSecretKey ) : string
accountSecretKey string
return string

GetCurrentPIN() public method

public GetCurrentPIN ( string accountSecretKey, System.DateTime now ) : string
accountSecretKey string
now System.DateTime
return string

GetCurrentPINs() public method

public GetCurrentPINs ( string accountSecretKey ) : string[]
accountSecretKey string
return string[]

GetCurrentPINs() public method

public GetCurrentPINs ( string accountSecretKey, System.TimeSpan timeTolerance ) : string[]
accountSecretKey string
timeTolerance System.TimeSpan
return string[]

TwoFactorAuthenticator() public method

public TwoFactorAuthenticator ( ) : System
return System

TwoFactorAuthenticator() public method

public TwoFactorAuthenticator ( bool useManagedSha1, bool useUnmanagedOnFail ) : System
useManagedSha1 bool
useUnmanagedOnFail bool
return System

ValidateTwoFactorPIN() public method

public ValidateTwoFactorPIN ( string accountSecretKey, string twoFactorCodeFromClient ) : bool
accountSecretKey string
twoFactorCodeFromClient string
return bool

ValidateTwoFactorPIN() public method

public ValidateTwoFactorPIN ( string accountSecretKey, string twoFactorCodeFromClient, TimeSpan timeTolerance ) : bool
accountSecretKey string
twoFactorCodeFromClient string
timeTolerance TimeSpan
return bool

Property Details

_epoch public_oe static_oe property

public static DateTime _epoch
return DateTime