# secret_key_database
This is a very simple library to encrypt and store secret keys (or any text)
locally. <br>
The keys are stored in a local sqlite database. The keys are encrypted using
AES-GCM. That's it. In theory, the database file can be shared publicly since
the keys are encrypted and require a password to decrypt, but it's best to keep
it private. <br>
This approach works great when:
- Number of keys is small
- The keys are not very sensitive (e.g. low risk API keys)
- You store the database in a semi-secure location (computer with a password,
private repository, etc.)
- You don't want to use an external or cloud service as a key/password manager
- You need a simple API to store and retrieve keys
## Installation
```
pip install secret_key_database
```
from source:
```
git clone https://github.com/RichieHakim/secret_key_database
cd secret_key_database
pip install -e .
```
## Demo
```
import secret_key_database as skd
# Create a new database
path_db = 'path/to/database.db'
db = skd.database.create_database(path_db)
# Add a new key
skd.user.add_key_to_database(
path_db=path_db,
name='key_name',
)
# Get a key
key = skd.user.get_key_from_database(
path_db=path_db,
name='key_name',
)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/RichieHakim/secret_key_database",
"name": "secret-key-database",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "cryptography, encryption, security, secret_key_database",
"author": "Richard Hakim",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/bd/e3/1febd7c5f3c6981f3594d1e763ca0622b8c566e444e379352a1be9ffd235/secret_key_database-0.1.2.tar.gz",
"platform": null,
"description": "# secret_key_database\nThis is a very simple library to encrypt and store secret keys (or any text)\nlocally. <br>\nThe keys are stored in a local sqlite database. The keys are encrypted using\nAES-GCM. That's it. In theory, the database file can be shared publicly since\nthe keys are encrypted and require a password to decrypt, but it's best to keep\nit private. <br>\nThis approach works great when:\n- Number of keys is small\n- The keys are not very sensitive (e.g. low risk API keys)\n- You store the database in a semi-secure location (computer with a password,\n private repository, etc.)\n- You don't want to use an external or cloud service as a key/password manager\n- You need a simple API to store and retrieve keys\n\n## Installation\n```\npip install secret_key_database\n```\n\nfrom source:\n```\ngit clone https://github.com/RichieHakim/secret_key_database\ncd secret_key_database\npip install -e .\n```\n\n## Demo\n```\nimport secret_key_database as skd\n\n# Create a new database\npath_db = 'path/to/database.db'\ndb = skd.database.create_database(path_db)\n\n# Add a new key\nskd.user.add_key_to_database(\n path_db=path_db,\n name='key_name',\n)\n\n# Get a key\nkey = skd.user.get_key_from_database(\n path_db=path_db,\n name='key_name',\n)\n```\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "A simple Python package for encrypting and decrypting secret keys.",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/RichieHakim/secret_key_database"
},
"split_keywords": [
"cryptography",
" encryption",
" security",
" secret_key_database"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "86d5ca0fd18a90d44995b613682aedafc8423072ee14a5009151efeb5b6305df",
"md5": "7071fa2b86a9b8cd292d0324f33c716b",
"sha256": "90810126f9ef6e6fc9ccdefa88838a6687d8816b895f1acaad7fc58962dc5c3e"
},
"downloads": -1,
"filename": "secret_key_database-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7071fa2b86a9b8cd292d0324f33c716b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7539,
"upload_time": "2024-04-04T17:33:25",
"upload_time_iso_8601": "2024-04-04T17:33:25.710218Z",
"url": "https://files.pythonhosted.org/packages/86/d5/ca0fd18a90d44995b613682aedafc8423072ee14a5009151efeb5b6305df/secret_key_database-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bde31febd7c5f3c6981f3594d1e763ca0622b8c566e444e379352a1be9ffd235",
"md5": "6b1cf5a3b73a3985fd2b21926eec147d",
"sha256": "c517fc21acbfd34dc798e1a993506369a858d00fd1503d811093aeffa9cbcd76"
},
"downloads": -1,
"filename": "secret_key_database-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "6b1cf5a3b73a3985fd2b21926eec147d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9438,
"upload_time": "2024-04-04T17:33:27",
"upload_time_iso_8601": "2024-04-04T17:33:27.159979Z",
"url": "https://files.pythonhosted.org/packages/bd/e3/1febd7c5f3c6981f3594d1e763ca0622b8c566e444e379352a1be9ffd235/secret_key_database-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-04 17:33:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RichieHakim",
"github_project": "secret_key_database",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "secret-key-database"
}