Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 08.12.2020
Сообщений: 12

Bitcoin private key. Получение приватного ключа Bitcoin из 256 бит строки записанов в 16-ричном коде

02.01.2024, 09:43. Показов 2583. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
# Получение ключа Биткойн из случайных 256 бит строки записанных в в 16-ричном виде
# например такой 0C28FCA386C7A227600B2FE50B7CAE11EC86D3BF 1FBE471BE89827E19D72AA1D
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import hashlib
alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
number =str(input())
result = int('80'+number, 16)
c='80'+number
print('256 Бит в 16 коде ',number.upper())
print('Байт 0x80 вперед  ',c.upper())
 
b = bin(result)[2:]
m = hashlib.sha256()
m.update(bytes([int(b[i-8:i], 2) for i in range(8, len(b)+1, 8) ])) 
print('Первый SHA256     ',m.hexdigest().upper())
number =str(m.hexdigest().upper())
result = int(number, 16)
 
b = bin(result)[2:]
m = hashlib.sha256()
m.update(bytes([int(b[i-8:i], 2) for i in range(8, len(b)+1, 8) ])) 
print('Второй SHA256     ',m.hexdigest().upper())
print('Хеш Сумма         ',m.hexdigest()[:8].upper())
print('Ключ с хешсуммой  ',c+m.hexdigest()[:8].upper())
text=c+m.hexdigest()[:8]
 
def b58encode(b: bytes) -> str:
    n = int.from_bytes(b, 'big')
    chars = []
    while n:
        n, i = divmod(n, 58)
        chars.append(alphabet[i])
    num_leading_zeros = len(b) - len(b.lstrip(b'\x00'))
    res = num_leading_zeros * alphabet[0] + ''.join(reversed(chars))
    return res
 
base58Str=b58encode(bytearray.fromhex(text))
print('Приватный Ключ Биткойна преобразованный Base58')
print(base58Str)
У кого есть подобные программы неписаные на других языках?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.01.2024, 09:43
Ответы с готовыми решениями:

Получение курса криптовалют (bitcoin) средствами php
Доброго всем времени суток! Есть задача на сайте получать текущий курс bitcoin к рублю и/или гривне. Всё, что пришло в голову - это...

Почему 256 бит хватит навсегда, вскрытие грубой силой 256-битового ключа будет невозможно
На программистском форуме StackExchange один из пользователей задался вопросом, почему RSA Security рекомендует использовать ключи длиной...

Программное получение приватного ключа через eToken
Здравствуйте, уважаемые форумчане! У меня возникла проблема с использованием eToken: при авторизации на серверном приложении через...

2
1 / 1 / 0
Регистрация: 08.12.2020
Сообщений: 12
30.01.2024, 20:57  [ТС]
Код немного исправлен. предыдущий не всегда корректно выдавал закрытые ключи.
Исправлено.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#python 3.6.9
# Получение ключа Биткойн из случайных 256 бит  записаных в 16-ричном виде
#  например такой 0C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D
# Вводить в поле ввода
import hashlib
alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
number =str(input())
result = int('80'+number, 16)
c='80'+number
print('256 Бит в 16 коде ',number.upper())
print('Байт 0x80 вперед  ',c.upper())
 
b = bin(result)[2:]
m = hashlib.sha256()
for i in range(8, len(b)+1, 8):
    m.update(bytes([int(b[i-8:i], 2)]))
print('Длинна    ',len(b))    
#m.update(bytes([int(b[i-8:i], 2) for i in range(8, len(b)+1, 8) ])) # 160 или int('10100000', 2)
print('Первый SHA256     ',m.hexdigest().upper())
number =str(m.hexdigest().upper())
result = int(number, 16)
 
b = bin(result)[2:]
print('Длинна    ',len(b)) 
while len(b)<256:
    b='0'+b
m = hashlib.sha256()
for i in range(8, len(b)+1, 8):
    m.update(bytes([int(b[i-8:i], 2)]))
print('Длинна    ',len(b))    
#m.update(bytes([int(b[i-8:i], 2) for i in range(8, len(b)+1, 8) ])) # 160 или int('10100000', 2)
print('Второй SHA256     ',m.hexdigest().upper())
print('Хеш Сумма         ',m.hexdigest()[:8].upper())
print('Ключ с хешсуммой  ',c+m.hexdigest()[:8].upper())
text=c+m.hexdigest()[:8]
 
def b58encode(b: bytes) -> str:
    n = int.from_bytes(b, 'big')
    chars = []
    while n:
        n, i = divmod(n, 58)
        chars.append(alphabet[i])
    num_leading_zeros = len(b) - len(b.lstrip(b'\x00'))
    res = num_leading_zeros * alphabet[0] + ''.join(reversed(chars))
    return res
 
base58Str=b58encode(bytearray.fromhex(text))
print('Приватный Ключ Биткойна преобразованный Base58')
print(base58Str)
0
0 / 0 / 0
Регистрация: 29.06.2025
Сообщений: 4
29.06.2025, 15:45
а зачем? для поиска иголки в стоге сена )
я использую перебор слов из словаря биткоин )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.06.2025, 15:45
Помогаю со студенческими работами здесь

Python+Bitcoin
Здравствуйте. Не первый год сижу на данном форуме, читаю много полезных советов, и, можно сказать, что благодаря этому сообществу и смог...

Bitcoin сегодня
Есть ли сегодня какая-либо ответственность за работу с биткоинами? Допустим за обмен Яндекс.Денег на биткоины или наоборот. Информация...

Bitcoin Miner
Помогите вылечится от биткоина,сейчас делаю логи Автологгером.Как будут скину Добавлено через 4 минуты Кстати,в Темпе ничего...

Bitcoin rip?
Последние полгода втречаю статьи такого рода: https://habrahabr.ru/post/263975/ https://geektimes.ru/post/260498/ ...

Bitcoin Miner
Всем привет! Уже много раз встречал в интернете подобный девайс, но никак не могу нагуглить инфу, о том, что это такое, и для чего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru