lvs1234 / key_shuffler

Simply python library for encrypting private keys using character shuffle method.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Telegram channel PyPI version image Github last commit date works badge

key_shuffler

Simply python library for encrypting private keys using character shuffle method.

Supports any blockchains, but is guaranteed to mask only EVM/Aptos private keys.

It checks the correctly entered password by checking the case of the last 2 characters of the key.

Accepts wallets in the format: address:key or key


Installation / Установка

pip install key-shuffler

Использование (для нормисов на русском языке)

В качестве отдельного скрипта для шифровки/расшифровки файла (просто скачайте с гитхаба)

Открыть директорию:

cd C:\...\key_shuffler

Поместить кошели в \examples\wallets.txt в формате private_key или address:private_key

Запустить скрипт командой:

python examples\file_encryptor.py

Внедрение библиотеки в существующий софт

В общем случае: найти в .py файлах софта (чаще всего в config.py/settings.py/main.py) получение КОШЕЛЬКОВ из .txt файла путем поиска по коду по ключевой фразе "with open" (синхронный код) либо "with aiofiles.open" (асинхронный код)


Для синхронного кода:

Найти:

with open(*файл с кошельками*, 'r') as file:
    ........

Добавить выше строкой "from key_shuffler import openEncrypted" и заменить "open" на "openEncrypted"

from key_shuffler import openEncrypted
with openEncrypted(*файл с кошельками*, 'r') as file:
    ........

При этом необходимо не накосячить с отступами текста, оставить такими же как были.

Пример. Было:

with open("accounts.txt", "r") as file:
    ACCOUNTS = [row.strip() for row in file]

Стало:

from key_shuffler import openEncrypted
with openEncrypted("accounts.txt", "r") as file:
    ACCOUNTS = [row.strip() for row in file]

Для асинхронного кода:

Найти:

async with aiofiles.open(*файл с кошельками*, 'r') as file:
    ........

Добавить выше строкой "from key_shuffler import aiofilesOpenEncrypted" и заменить "aiofiles.open" на "aiofilesOpenEncrypted"

from key_shuffler import aiofilesOpenEncrypted
async with aiofilesOpenEncrypted(*файл с кошельками*, 'r') as file:
    ........

При этом необходимо не накосячить с отступами текста, оставить такими же как были.

Пример. Было:

async with aiofiles.open("accounts.txt", "r") as file:
    ACCOUNTS = [row.strip() for row in file]

Стало:

from key_shuffler import aiofilesOpenEncrypted
async with aiofilesOpenEncrypted("accounts.txt", "r") as file:
    ACCOUNTS = [row.strip() for row in file]

Usage

Encrypt/decrypt key

from key_shuffler import KeyShuffler

a) The password is already set in the variable:

private_key = "........"
passphrase = "Hello world" 

shuffler = KeyShuffler(passphrase)
encrypted_key = shuffler.encrypt_private_key(private_key)
decrypted_key = shuffler.decrypt_private_key(encrypted_key)

b) The password will be specified by the user via the terminal:

private_key = "......."

shuffler = KeyShuffler()
encrypted_key = shuffler.encrypt_private_key(private_key)
decrypted_key = shuffler.decrypt_private_key(encrypted_key)

Encrypt/decrypt file

Fast sync/async encrypt: using the context manager:

from key_shuffler import openEncrypted

with openEncrypted(".....", 'r') as file:
    ...
from key_shuffler import aiofilesOpenEncrypted

async with aiofilesOpenEncrypted(".....", 'r') as file:
    ...

Default:

shuffler = KeyShuffler()

wallets = shuffler.encrypt_from_file(file_wallets)
wallets = shuffler.decrypt_from_file(file_wallets)

shuffler.encrypt_file_to_file(file_wallets, file_encrypted_wallets)
shuffler.decrypt_file_to_file(file_encrypted_wallets, file_wallets)

Handling an input error

If the password is incorrect, there will be an error and you will be asked to enter it again:


DONATE (EVM CHAINS) - 0xd8dcc73675a36f618fe780049429ec66f8402199

About

Simply python library for encrypting private keys using character shuffle method.


Languages

Language:Python 100.0%