Hello Password
A very simple secure password management tool.
Why? Because I can't believe the current password management software. In addition, the fact that the data file cannot be exported bothers me.
Quick Start
Use hpass -h view detailed commands
$ hpass -h
usage: hpass [-h] [-v] [-r PASSWORD_LENGTH] [-i] [-c]
Hello Password
optional arguments:
-h, --help show this help message and exit
-v, --version View version information
-r PASSWORD_LENGTH, --random_password PASSWORD_LENGTH
Randomly generate passwords containing uppercase and lowercase letters/numbers/symbols
-i, --initialization Create or specify a password storage file in the current directory
-c, --cli Start CLI Workbench
-t, --transfer Reset primary password (Change master password)
Use hpass -i initialize password data file in specified directory
$ hpass -i
Your primary password:
Enter your primary password again:
Find the password storage file in the current directory
Password storage file initialized successfully
Use hpass enter Workbench
$ hpass
Your primary password:
H-Pass>
Use random generate a secure random password
H-Pass> random 16
hiSVJ@77AEYFaZhu
Use add to add a new account
H-Pass> add
The following is the information required for the new password :
Website = https://www.yeah.net/
Notes = 163 Yeah Mail
Username = xxxxxxx@yeah.net
Email =
Phone =
Password = hiSVJ@77AEYFaZhu
The new password has been successfully added!
Use search search password data
H-Pass> search yeah
+----+-----------------------+--------------+
| ID | Website | Notes |
+----+-----------------------+--------------+
| 18 | https://www.yeah.net/ | 163 Yeah Mail |
+----+-----------------------+--------------+
Use get view password data
H-Pass> get 18
website = https://www.yeah.net/
notes = 163 Yeah Mail
username = xxxxxxx@yeah.net
email =
phone =
password = hiSVJ@77AEYFaZhu
Use set change password data
H-Pass> set 18 notes
Original notes = 163 Yeah Mail
Now notes = Yeah Mail
Password value modified successfully!
Use help view cli help information
H-Pass> help
filepath - Print the absolute path of the password storage file
all - View the basic information of all password data
add - Enter a new password data
search <keyword> - Find password data by keyword
random <length> - Generate a secure password of specified length
get <id> - View the password data of the specified id
del <id> - Delete the password data of the specified id
set <id> <key> - Modify the key value of the password data of specified id
Installation
As usual, the easiest way is with pip:
$ pip install hpass
Alternatively you can download the hpass-x.x.x.tar.gz installation file:
$ pip install hpass-x.x.x.tar.gz
Pip will install dependencies (colorama and PrettyTable) for you. Alternatively you can clone the repository:
$ git clone https://github.com/hekaiyou/hpass.git --recursive
$ cd hpass
$ python setup.py install
Philosophy
hpass uses RC4 algorithm for data encryption storage.
Use key to generate S box
The key-scheduling algorithm (KSA)
def rc4_init_s_box(key):
s_box = list(range(256))
j = 0
for i in range(256):
j_step_1 = j + s_box[i]
j_step_2 = j_step_1 + ord(key[i % len(key)])
j_step_3 = j_step_2 % 256
j = j_step_3
s_box[i], s_box[j] = s_box[j], s_box[i]
return s_box
Use S box to generate key stream
The pseudo-random generation algorithm (PRGA)
def rc4_res_program(s_box, message):
res = []
i = j = 0
for s in message:
i = (i + 1) % 256
j = (j + s_box[i]) % 256
s_box[i], s_box[j] = s_box[j], s_box[i]
t = (s_box[i] + s_box[j]) % 256
k = s_box[t]
res.append(chr(ord(s) ^ k))
return res
License
hpass is free and open-source software licensed under the MIT License.
Metadata
Release files for hpass 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hpass-0.2.1.tar.gz | 11.4 kB | Without provenance | Details for hpass-0.2.1.tar.gz |
Release files / hpass-0.2.1.tar.gz
| Download URL | hpass-0.2.1.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d058aa64e67334360b3844974e210298fe021607ac485d4c5d1d3bb78177ffae
|
|
BLAKE2b-256 checksum How to use checksums |
e0cdc4f46fd005cd2db6f81c0bdf83817852abe57bb53db6d6abbd24ac0c246c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0
|
Security for hpass 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.