61 lines
2.1 KiB
C#
61 lines
2.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Google.Authenticator.WinTest
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
public Form1()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
this.txtAccountTitle.Text = "QRTestAccount";
|
|
this.txtSecretKey.Text = "f68f1fe894d548a1bbc66165c46e61eb"; //Guid.NewGuid().ToString().Replace("-", "");
|
|
}
|
|
|
|
private void btnSetup_Click(object sender, EventArgs e)
|
|
{
|
|
TwoFactorAuthenticator tfA = new TwoFactorAuthenticator();
|
|
var setupCode = tfA.GenerateSetupCode(this.txtAccountTitle.Text, this.txtAccountTitle.Text, this.txtSecretKey.Text, false, 3);
|
|
|
|
//WebClient wc = new WebClient();
|
|
using (MemoryStream ms = new MemoryStream(Convert.FromBase64String(setupCode.QrCodeSetupImageUrl.Replace("data:image/png;base64,", ""))))
|
|
this.pbQR.Image = Image.FromStream(ms);
|
|
|
|
this.txtSetupCode.Text = "Account: " + setupCode.Account + System.Environment.NewLine +
|
|
"Secret Key: " + this.txtSecretKey.Text + System.Environment.NewLine +
|
|
"Encoded Key: " + setupCode.ManualEntryKey;
|
|
}
|
|
|
|
private void btnTest_Click(object sender, EventArgs e)
|
|
{
|
|
TwoFactorAuthenticator tfA = new TwoFactorAuthenticator();
|
|
var result = tfA.ValidateTwoFactorPIN(txtSecretKey.Text, this.txtCode.Text);
|
|
|
|
MessageBox.Show(result ? "Validated!" : "Incorrect", "Result");
|
|
}
|
|
|
|
private void btnGetCurrentCode_Click(object sender, EventArgs e)
|
|
{
|
|
this.txtCurrentCodes.Text = string.Join(System.Environment.NewLine, new TwoFactorAuthenticator().GetCurrentPINs(this.txtSecretKey.Text));
|
|
}
|
|
|
|
private void btnDebugTest_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|