Всем привет!
Опыт работы на Linux небольшой но чувствую что мое решение можно оптимизировать так как работает очень долго из-за перезаписи временных файлов.
Для каждого запроса средствами терминала и стандартных текстовых утилит и openssl необходимо сгенирировать файл из 100 строк в виде:
привтный_ключ1 пробел публычный_ключ1
привтный_ключ2 пробел публычный_ключ2
…
привтный_ключ100 пробел публычный_ключ100
привтный_ключ и публычный_ключ генерируються на основе алоритма secp256k1 после выполнения команд openssl ecparam -genkey -name secp256k1 -noout -out key.pem && openssl ec -in key.pem -pubout -noout -text 2>/dev/null результат имеет следющий вид:
Private-Key: (256 bit)
priv:
00:cd:f7:d7:d0:fd:29:ac:97:93:12:d2:2d:b2:1a:
4c:9a:b6:54:bc:a6:81:f4:af:3a:ae:1d:aa:ac:d9:
49:78:cf
pub:
04:7f:95:16:08:a6:a7:63:32:8c:89:a6:4c:20:1c:
c4:b4:04:f0:f1:0c:af:0f:e9:69:ae:16:85:da:58:
36:d4:c7:5a:a8:fd:2f:7e:86:a9:61:e5:20:32:3b:
c9:16:96:24:14:d0:ea:ea:0a:79:75:74:8f:60:65:
56:a1:6d:4f:64
ASN1 OID: secp256k1
а на должна быть одна строка вида (без двоиточия и переносов строк):
047f951608a6a763328c89a64c201cc4b404f0f10caf0fe969ae1685da5836d4c75aa8fd2f7e86a961e520323bc916962414d0eaea0a7975748f606556a16d4f64 00cdf7d7d0fd29ac979312d22db21a4c9ab654bca681f4af3aae1daaacd94978cf
Мой скрипт:
#!/bin/bash
for (( i=1; i <= 100; i++ ))
do
openssl ecparam -genkey -name secp256k1 -noout -out key.pem
openssl ec -in key.pem -pubout -noout -text 2>/dev/null | sed -n 3,5p | tr -d ' :\n\t' | sed 's/^/ /; s/$/\n/g' > pri.key
openssl ec -in key.pem -pubout -noout -text 2>/dev/null | sed -n 7,11p | tr -d ' :\n\t' > pub.key
cat pub.key pri.key >> pub_pri.txt
done
echo "done"