Skip to content

Позволяет шифровать и хранить файлы в облачном хранилище

Notifications You must be signed in to change notification settings

ig-rudenko/encrypt-storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Позволяет шифровать и хранить файлы в облачном хранилище

Используется потоковое шифрование

Доступные хранилища:

  • Yandex.Disk (sync/async)
  • AWS S3 (sync/async)

Установка

Поддержка только яндекс диска

pip install encrypt-storage

С поддержкой AWS S3

pip install encrypt-storage[aws]

Пример

Синхронное использование

from encrypt_storage import YandexDiskStorage

# Замените 'YOUR_ACCESS_TOKEN' на ваш токен Яндекс.Диска
# Замените 'YOUR_ENCRYPTION_KEY' на ваш ключ шифрования
yandex_disk = YandexDiskStorage(
    "YOUR_ACCESS_TOKEN",
    "YOUR_ENCRYPTION_KEY",
)

# Пример загрузки и шифрования файла
local_file = "docker-compose.yaml"
remote_path = "docker-compose.yaml"
yandex_disk.upload_and_encrypt_file(local_file, remote_path)

# Пример дешифрования файла
decrypted_local_file = "docker-compose2.yaml"
yandex_disk.download_and_decrypt_file(remote_path, decrypted_local_file)

# Пример получения данных файлов
files = yandex_disk.list_files("/")
print(files)

Асинхронное использование

import asyncio

from encrypt_storage.asyncio import YandexDiskStorage


async def main():
    # Замените 'YOUR_ACCESS_TOKEN' на ваш токен Яндекс.Диска
    # Замените 'YOUR_ENCRYPTION_KEY' на ваш ключ шифрования
    yandex_disk = YandexDiskStorage(
        "YOUR_ACCESS_TOKEN",
        "YOUR_ENCRYPTION_KEY",
    )

    # Пример загрузки и шифрования файла
    local_file = "docker-compose.yaml"
    remote_path = "docker-compose.yaml"
    await yandex_disk.upload_and_encrypt_file(local_file, remote_path)

    # Пример дешифрования файла
    decrypted_local_file = "docker-compose2.yaml"
    await yandex_disk.download_and_decrypt_file(remote_path, decrypted_local_file)

    # Пример получения метаданных файлов
    files = await yandex_disk.list_files("/")
    print(files)


if __name__ == "__main__":
    asyncio.run(main())

About

Позволяет шифровать и хранить файлы в облачном хранилище

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages