Tiny password manager with all data stored encrypted on your machine

栏目: IT技术 · 发布时间: 4年前

内容简介:Open source, AES-256 bit encrypted password manager with all encrypted passwords stored locally on your machine.This is a CLI utility that can be used to store your account information, including websites, usernames, passwords, and additional info, securel

hide

Open source, AES-256 bit encrypted password manager with all encrypted passwords stored locally on your machine.

Usage

$ hide search my_new_account
# I found the following accounts:
#
# 0 of 412 total accounts returned

$ hide add -n my_new_account -u myname -p the_secret_password -e "Some extra stuff!!!!"
# Successfully added account 'my_new_account'!

$ hide search my_new_account
# I found the following accounts:
# NAME            USERNAME        EXTRA                UUID
# my_new_account  myname          Some extra stuff!!!! 964c0e29-9732-4f03-9920-86b35cd04afe
# 1 of 413 total accounts returned

$ hide show my_new_account
# NAME            USERNAME        EXTRA                UUID
# my_new_account  myname          Some extra stuff!!!! 964c0e29-9732-4f03-9920-86b35cd04afe

$ hide show my_new_account -p
# NAME            USERNAME        PASSWORD            EXTRA                UUID
# my_new_account  myname          the_secret_password Some extra stuff!!!! 964c0e29-9732-4f03-9920-86b35cd04afe

Description

This is a CLI utility that can be used to store your account information, including websites, usernames, passwords, and additional info, securely using AES-256 bit encryption using a master secret that you configure.

Install

$ npm install -g hide

Why?

I've previously used Last Pass to securely store passwords for me within the context of a browser extension, and it worked decent. The problem is I not only have a ton of accounts with different passwords that I like to see, but I'm a developer so basically always live in a terminal window. This tool gives me the freedom to retrieve a username and/or password (among other information) about an account with a single command, and store it on my machine using AES-256 bit encryption with a password I set.

Config

CRYPT_SECRET (required)

The following should be set to control the global secret that's used with AES-256 bit encryption to secure the data stored on your machine.

DON'T LOSE/FORGET THIS

$ export CRYPT_SECRET=[your all time master secret value]

NODE_HIDE_FILEPATH

Directory where the encrypted file will live -- default: home directory (either process.env.HOME on unix/linux/mac or process.env.USERPROFILE on windows)

$ export NODE_HIDE_FILEPATH=~

NODE_HIDE_FILENAME

Name of flat file that holds the encrypted data of your accounts -- default: '__node-hide-accounts'

$ export NODE_HIDE_FILENAME=my_encrypted_file

Usage

Add an account

PARAMETERS

  • -n / --name (REQUIRED): The name of the account you're storing. It can be any combination of alphanumeric characters.
  • -u / --username (optional): The username for the account.
  • -p / --password (optional): The password for the account.
  • -e / --extra (optional): Any additional information you'd like to provide about the account.
$ hide add -n my_new_account -u myname -p the_secret_password -e "Some extra stuff!!!!"

Successfully added account 'my_new_account'!

Search your accounts

PARAMETERS

  • -s / --search (optional): An optional term to look for accounts based on a case-insensitive search against the NAME or USERNAME. NOTE: the search command never shows the password for the account. Use show to retrieve the password.
$ hide search

I found the following accounts:
NAME                USERNAME        EXTRA            UUID
facebook.com        userna                           def7f984-c2d7-4069-907c-facfad597123
instagram.com       iguser                           def7f984-abc1-1111-2222-facfad597123
2 of 2 total accounts returned

$ hide search -s facebook

I found the following accounts:
NAME                USERNAME        EXTRA            UUID
facebook.com        userna                           def7f984-c2d7-4069-907c-facfad597123
1 of 2 total accounts returned

Show a single account

PARAMETERS

Either uuid or name are at least required:

  • -i / --uuid: The unique identifier of the account you want to review.
  • -n / --name: The name of the account you're reviewing.

Optional

  • -p / --password (optional): Whether to show the password. DEFAULT: false
$ hide show -i f62d5a21-4119-4a05-bced-0dca8f310d4b
$ hide show -n facebook.com

NAME            USERNAME        EXTRA           UUID
facebook.com    fbuser                          f62d5a21-4119-4a05-bced-0dca8f310d4b

$ hide show -n facebook.com -p

NAME            USERNAME        PASSWORD        EXTRA           UUID
facebook.com    fbuser          my_password1                    f62d5a21-4119-4a05-bced-0dca8f310d4b

Update an account

PARAMETERS

Either uuid or name are at least required:

  • -i / --uuid: The unique identifier of the account you want to update.
  • -n / --name: The name of the account you're updating.

Optional

  • -u / --username (optional): The username for the account.
  • -p / --password (optional): The password for the account.
  • -e / --extra (optional): Any additional information you'd like to provide about the account.
$ hide update -n facebook.com -u fbuser -p my_password1

Successfully updated account with name: 'facebook.com'!

Delete an account

PARAMETERS

  • -i / --uuid: The unique identifier of the account you want to delete.
$ hide delete -i f62d5a21-4119-4a05-bced-0dca8f310d4b

Successfully deleted account with uuid: 'f62d5a21-4119-4a05-bced-0dca8f310d4b'

Re-encrypt your current file with a new secret

$ hide recrypt yourNew_Ultra_Secret_secret!@#

Successfully updated your encrypted file with new secret to: /Users/username/__node-hide-accounts

Get the full file path of the encrypted flat file

Returns the file location on your machine where the encrypted file lives.

PARAMETERS

None

$ hide file

Your encrypted file is in the following location:
/Users/yourname/__node-hide-accounts

Decrypt file and store on disk

Decrypts the encrypted file that is used by hide to store your account information, and stores it on disk in the same location as your file with an appended '.json' to the file name.

PARAMETERS

None

$ hide decryptfile
Are you sure you want to decrypt your file and save it to disk (yes/no): yes

Successfully saved your decrypted account data to:
/Users/yourname/__node-hide-accounts.json

Import from a CSV

Note: This requires the CSV have headers that match the following:

name
username
password
extra

PARAMETERS

  • -f / --filepath: The full filepath of the CSV that we're importing data from.
$ hide import -f /Users/yourname/myfile.csv

Successfully added 123 accounts from CSV: /Users/yourname/myfile.csv!

Encrypt text or a file

PARAMETERS

  • -t / --text: Text you want to encrypt.
  • -f / --file: A local file path containing data you want to encrypt.
$ hide encrypt -t testing123
$ hide encrypt testing123

0f318802819cb67ea05c

Decrypt text or a file

PARAMETERS

  • -t / --text: Text you want to decrypt.
  • -f / --file: A local file path containing data you want to decrypt.
$ hide decrypt -t 0f318802819cb67ea05c
$ hide decrypt 0f318802819cb67ea05c

testing123

Development

If you want to clone and add/update functionality, you can build using the following.

Build

$ npm run build

Tests

$ npm test

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法技术手册

算法技术手册

George T. Heineman、Gary Pollice、Stanley Selkow / 杨晨、李明 / 机械工业出版社 / 2010-3 / 55.00元

《算法技术手册》内容简介:开发健壮的软件需要高效的算法,然后程序员们往往直至问题发生之时,才会去求助于算法。《算法技术手册》讲解了许多现有的算法,可用于解决各种问题。通过阅读它,可以使您学会如何选择和实现正确的算法,来达成自己的目标。另外,书中的数学深浅适中,足够使您可以了解并分析算法的性能。 较之理论而言,《算法技术手册》更专注于应用。《算法技术手册》提供了高效的代码解决方案,使用多种语言......一起来看看 《算法技术手册》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具