PassWordsCore 2.1.2
I'm no longer supporting this libary. I wrote it several years ago when I was less skilled. Use at your own risk!
If you have any questions or need help, contact me via Github
dotnet add package PassWordsCore --version 2.1.2
NuGet\Install-Package PassWordsCore -Version 2.1.2
<PackageReference Include="PassWordsCore" Version="2.1.2" />
paket add PassWordsCore --version 2.1.2
#r "nuget: PassWordsCore, 2.1.2"
// Install PassWordsCore as a Cake Addin
#addin nuget:?package=PassWordsCore&version=2.1.2
// Install PassWordsCore as a Cake Tool
#tool nuget:?package=PassWordsCore&version=2.1.2
PassWords-Core
A brand new core
Create easy a password manager
Step 1: Create database file
using PassWordsCore;
//Your code logic
//Initialize db
Database.EnsureCreated();
//Create PassWords database
Database.CreateDB("YourDBName","YourPassword");
Step 2: Login into database
static Database db = new Database();
db.Login("YourDBName","YourPassword");
Step 3: Create account
//Create account object
var account = new Account()
{
Username = "Test",
Password = "Test123",
Title = "MyAccount",
Description = "Test the account",
Type = "Email"
};
//Add account to current database
db.Add(account);
Step 4: Get accounts
List<Account> accounts = db.GetAccounts();
Step 5: Edit account
var testaccount = accounts.FirstOrDefault(a => a.Title == "MyAccount");
testaccount.Title = "HelloWorld";
db.Update(testacccount);
Step 6: Delete account
var testaccount = accounts.First(a => a.Title == "MyAccount");
db.Delete(testacccount);
Step 7: Change database password or name
db.UpdatePassword("oldpass","newpass");
db.UpdateName("NewDBName");
Step 8: Backup database
db.Backup("destinationpath/database.db");
Step 8b: Import database
Database.Restore("destinationpath/database.db","MyDatabase");
Step 9: Delete database
Database.DeleteDB("YourDBName");
Step 10: List databases
List<DB> alldatabases = Database.ListDatabases();
Step 11: Delete all databases/the databases file
Database.EnsureDeleted();
Two factor authentication
You can use 2FA for making the login to the database more secure, but you can also use PassWords to validate a 2FA login into another system.
Using 2FA in PassWords
//First, login into your database
static Database db = new Database();
db.Login("YourDBName","YourPassword");
//Second, enable 2FA login
db.Add2FA();
//Third, get your secret
//Use this secret into another 2FA app
string secret = db.Get2FA();
//Logout
db.Logout();
//When you login now,
db.Login("YourDBName","YourPassword");
//you will get
LoginResult.Needs2FA;
//Now you have to use your 2FA app and enter the code:
db.Login2FA("000000");//your code
//If returns true, you are logged in
//Remove 2FA from database: (first login() and login2fa())
db.Remove2FA();
Validating another application that uses 2FA using PassWords
//First, update an account and set the TwoFactorSecret property to your secret
var testaccount = accounts.First(a => a.Title == "MyAccount");
testaccount.TwoFactorSecret = "MYSECRET";
//Second, login into an application with MyAccount
//Generate key (remember => every 30 seconds it changes so you have to generate a new one)
string code = Database.GenerateCode("MYSECRET");
//Enter the code and log in.
Generate a random string
Database.RandomString(10,true); //Length = 10, letters = true
Database.RandomString(15,true,true,true,true); //Length = 15, letters, capitals numbers and special chars
For further or more detailed usage of PassWordsCore, see the wiki (that will be added in the future)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.EntityFrameworkCore.Sqlite (>= 2.2.4)
- Microsoft.EntityFrameworkCore.Sqlite.Core (>= 2.2.4)
- Microsoft.EntityFrameworkCore.Sqlite.Design (>= 1.1.6)
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 |
---|
Update: Add the function UpdateName() to change the name of the database and add an option to use a custom name when restoring a database. I also improved the in-code documentation.