Я работаю над учебным пособием о том, как генерировать биткойн-кошельки на разных языках программирования.Я почти закончил писать учебник и начал задаваться вопросом, можно ли было также генерировать кошельки с использованием однострочного SQL-кода и только упоминать начальное слово.
Вот таблица MySQL:
CREATE TABLE IF NOT EXISTS bitcoin (
id int NOT NULL AUTO_INCREMENT,
plain_text varchar(100) NOT NULL,
sha256_hash varchar(64) AS (SHA2(CONCAT(plain_text), 256)) STORED NOT NULL,
u_address varchar(35) DEFAULT NULL,
u_private varchar(52) DEFAULT NULL,
c_address varchar(35) DEFAULT NULL,
c_private varchar(52) DEFAULT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
u_address
& u_private
= несжатый адрес биткойна и закрытый ключ (WIF).
c_address
& c_private
= сжатый адрес биткойна и закрытый ключ (WIF).
Вот запрос, который я использую:
INSERT INTO bitcoin (plain_text) VALUES ('testing');
Этот запрос создает эту строку:
'1','testing','cf80cd8aed482d5d1527d7dc72fceff84e6326592848447d2dc0b0e87dfc9a90',NULL,NULL,NULL,NULL
Очевидно, это то, что я хочу, чтобы он создал:
'1','testing','cf80cd8aed482d5d1527d7dc72fceff84e6326592848447d2dc0b0e87dfc9a90','1JdDsbYYRSpsTnBVgenruULVeUjt5z6WnR','5KPfyFSs6eVQuTCjEWJEYEa8aFEa7NUv9Fuzh45KadwTagsD6Xt','1A2GwmWhQZozcRTZenhFTMWtC28xc4XijR','L4B51GmA7vUQWWemQcK4kruERjpu97pDZSpudna51U3NKSGYLhC3'
Мне вообще не нужен запрос INSERT
, я просто хочу изменить команду CREATE TABLE
, чтобы все автоматически генерировалось, как это было сделано с хешем SHA-256.
Возможно ли с помощью SQL преобразовать хэш SHA-256 в адреса биткойнов и закрытые ключи (WIF) в сжатых и несжатых форматах?
Я почти сказал, что с SQL это просто невозможно, нополагал, что если бы кто-нибудь знал, как это сделать, они бы наack Overflow.